Mailinglisten-Archive |
Moin, ----- Original Message ----- From: "Michael Paffrath" <paffrath_(at)_fatmedia.de> To: "php Mailingliste" <php_(at)_php-center.de> Sent: Sunday, November 11, 2001 10:48 PM Subject: [php] bitte kurz testen... > hallo zusammen, > > ich werde gerade verrückt!!! > > nachdem ich jetzt ein paar stunden abstand von dem upload-script genommen > habe, versuche ich es jetzt wieder. hab mir das script von php4-forum > nochmal kopiert (http://www.php4-forum.de/beispiele/anwendung_upload.htm) *seufz* Gibts ansich kein Gesetz was schlechte Beispiele verbietet? Was stoert dich den an dem Beispiel aus dem ORIGINAL php.net Manual. Damit einen Fileupload hinzbekommen sollte doch wohl nicht so schwer sein. Hinterher kann man ihn ja seinen Beduerfnissen anpassen. Anbei ein Uploadscript was die dafuer vorgesehenen PHP Funktionen benutzt und ein paar Fehler vermeidet wie sie in deinem Beispiel vorkommen. Nur zur Information. $_POST, und $_SERVER ist schon die neue Bezeichnung der Arrays wie sie mit einer der neuen PHP Versionen eingefuehrt werden wird. Solltest du kein >4.0.7rcX haben tauschen sie gegen HTTP_ aus. Ich habe keine weiteren Features eingebaut damit du es erst einmal zum laufen bekommst. Lfd. gefahren sind ansich die fehlende Vergabe eines neuen Names zum Abspeichern. Da nicht geprueft wird ob eine gleichnamige Datei bereits besteht. Auch sollte nicht jeder File/gr. hochgeladen werden. Ein pruefen des Types nur anhand des Names/Erweiterung ist nich ganz gefahrlos. Sofern es um Bilder geht sei dir die Funktion getimagesize() , die dir den Typ liefert, ans Herz gelegt. Die Info ueber den Mimetyp kann du getrost vergessen das sie nicht vertrauenswuerdig ist und vom Clientuebermittelt wird. Ich hoffe der Umbruch macht nichts kaputt. script.php ------------ <html> <head> <title>upload - test</title> </head> <body> <form method="POST" action="<?php echo $GLOBALS['PHP_SELF']; ?>" enctype="multipart/form-data" > <p> <input type="file" name="bild"> <input type="submit" value="upload" name="upload"></p> </form> <?php if($_SERVER['REQUEST_METHOD'] && $_POST['upload'] === "upload"){ if(is_uploaded_file($_FILES['bild']['tmp_name'])){ // we need some config here! $dir = getenv(DOCUMENT_ROOT)."/uploads/"; if(move_uploaded_file($_FILES['bild']['tmp_name'], $dir.$_FILES['bild']['name'])){ echo "<p>Filename: ".$_FILES['bild']['name']."<br />\n"; echo "Filesize: ".$_FILES['bild']['size']." bytes<br />\n"; echo "Filetype: ".$_FILES['bild']['type']."<br />\n"; echo "Succesfully saved in $dir !</p>\n"; } else{ echo "<p>Error! Could save the File! Be sure that we have permissions to write in <b>$dir</b> and that the dir exists.</p>\n"; } } else{ echo "<p>No file uploadet! Please check max_upoad/post limits<br /> in your php.ini and take a look to the MAX_FILE_SIZE settings in the html form.</p>\n"; } } ?> </body> </html>
php::bar PHP Wiki - Listenarchive