002
27.09.2004, 23:55 Uhr
Pablo
Supertux (Operator)
|
nicht nur die Datei muss die Schreibrechte haben, sondern auch das Verzeichnis, in dem die Datei sich befindet. Hier ein Beispiel aus einem Projekt der Uni an dem ich mitwirkte:
PHP 4: |
<?php /** * get_file_type($mime) * * Diese Funktion untersucht den Mime-Typ von den hochgeladenen * Dateien und gibt die Standardendung zurück. Die Funktion funktioniert * auschließlich mit Bildern image/{gif,jpeg,png,bmp}. * Im Fall einer Datei, die kein Bild ist, leifert die Funktion NULL zurück * * @param string $mime: Mime-Type * @return Dateiendung der Bilder, NULL falls kein Bild-Typ * @author Pablo Yanez Trujillo */ function get_file_type($mime) { switch($mime) { case "image/gif": return ".gif"; case "image/jpg": return ".jpg"; case "image/jpeg": return ".jpg"; case "image/png": return ".png"; case "image/bmp": return ".bmp"; } return NULL; }
/* einige hundert Zeile später */
if (array()!=$_FILES) { if(!$_FILES['formBild']['error']) { // file wurde gefunden if (NULL != ($type = get_file_type($_FILES['formBild']['type']))) { /* damit keine Bilder überschrieben werden, ein temp hochladen */ @unlink("upload_graphics/tmp-$uid$type"); $bildname = "upload_graphics/tmp-$uid$type"; move_uploaded_file($_FILES['formBild']['tmp_name'], $bildname); } } }
/* noch einige hundert Zeile später */
if($path!=$nopic) { /* Bild ist hochgeladen */ $type=get_type($path); $newfilename="upload_graphics/inv-$serialNumber$type"; rename($path, $newfilename);
} else $newfilename=$nopic;
... ?>
|
Und so sehen die Rechte beim upload_graphics
Code: |
drwxr-xrwx 3 gr3 203 4.0K 2004-08-31 10:36 upload_graphics/
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 27.09.2004 um 23:59 Uhr von Pablo editiert. |