Bildupload?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angeben
beitrag
bild
blabla
byte
datei
endung
error
exit
formular
geschmack
insert
ordner
speicher
tabelle
teilweise
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
/* ausgehend davon, dass der uploadfolder im selben verzeihniss liegt wie das script selbst */ $self = $_SERVER['PHP_SELF']; //die datei selbst $link = 'http://www.blabla/var/uploadpics/'; $updir = dirname(__FILE__).'/uploadpics/'; $types = '(jpg|jpeg|gif|bmp|png)'; // erlaubte endungen... nur bilder erweitern mit |babla hinter png $max_bytes = 30000; //oder halt mehr je nach geschmack /** * plus die mysql verbindung */ mysql_connect('host', 'user', 'password'); // deine angaben hier rein mysql_select_db('datenbamk'); // deine angaben hier rein $error = array(); $error[1] = sprintf('Die Datei ist zu Groß. Erlaubte php.ini Größ ist %s.', ini_get('upload_max_filesize')); $error[2] = sprintf('Die Datei ist zu Groß. Erlaubte MAX_FILE_SIZE Größ ist %d byte(s).', $max_bytes); $error[3] = 'Datei nur teilweise hochgeladen.'; $error[4] = 'Es wurde keine Datei hochgeladen'; $error[6] = 'Es wurde kein Tmpverzeihniss gefunden'; function check_file($dir, $file) { if(file_exists($dir.$file)) { $file = 'copy_of_'.$file; $file = check_file($dir, $file); } return $file; } echo <<<HTML <h1>Upload</h1> <form enctype="multipart/form-data" action="$self" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="$max_bytes" /> <input type="file" name="userfile" /> <input type="submit" value="senden" /> </form><hr /> HTML; if(isset($_FILES['userfile'])) { if($_FILES['userfile']['error']) { echo $error[$_FILES['userfile']['error']]; exit; } if($_FILES['userfile']['size'] > $max_bytes) { echo $error[2]; exit; } if(!preg_match("/\.".$types."$/i", $_FILES['userfile']['name'])) { printf('Datei %s hat keine gültige Endung.', $_FILES['userfile']['name']); exit; } $file = check_file($updir, $_FILES['userfile']['name']); $filedir = $updir.$file; $filelink = $link.$file; if(move_uploaded_file($_FILES['userfile']['tmp_name'], $filedir)) { $sql = sprintf('INSERT INTO uploads (name, link, directory) VALUES ("%s","%s","%s")', $file, $filelink, $filedir); mysql_query($sql); echo 'Datei hochgeladen'; } else { echo '<pre>'; print_r($_FILES); echo '</pre>'; } }
edit: kleine schreibfehel behoben... (noch genug dagelassen^^)
Beitrag ge?ndert am 3.11.2005 23:10 von kirschbluete
Beitrag ge?ndert am 3.11.2005 23:29 von kirschbluete -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage