Mailinglisten-Archive |
> ich baue momentan an einem kleinen tool für einen admin-bereich, über > das geprüfte grafiken von "admins" usern zugeordnet und über den > browser upgeloadet werden können. das skript ist zusammengestoppelt aus > den beispielen von php-center und der php-doku. nach dem upload wird > mittels is_uploaded_file gecheckt ob die datei korrekt ist. dabei wird > mir jedes mal ausgegeben, dass die datei nicht die upgeloadete ist. php > legt brav in /tmp eine temporäre datei an. das skript sieht so aus: Hab es jetzt so umgebaut dass es funktioniert. laut php-doku schaut is_uploaded_file im http_post_vars-array nach. korrekt muss aber in http_post_files nachgeschaut werden... <form action="<?php print $PHP_SELF ?>" method="post" enctype="multipart/form-data"> <input type="file" name="image"> <input type="submit" value="Uploaden"> <input type="hidden" name="chatuser" value="xxx"> </form> <hr> <?php $userimgdir="/tmp/bildchen/"; if (isset($image)) { $array=$HTTP_POST_FILES["image"]; // Dateinamen ueberpruefen if (ereg("[^a-zA-Z0-9\._]",$image_name)) die("Ungueltiger Dateiname: $image_name<br>"); // Suffix ueberpruefen $ext=ereg_replace("^\.","",substr(strtolower($image_name),strlen($image _name)-4)); if ($ext!="jpg" && $ext!="png" && $ext!="gif" && $ext!="jpeg") die("$image_name ist keine gültige Grafik (gif, png, jpg, jpeg)<br>"); // Server-Vars ueberpruefen if (isset($HTTP_COOKIE_VARS["image"]) || isset($HTTP_POST_VARS ["image"]) || isset($HTTP_GET_VARS ["image"]) ) die("Datei darf nicht in Cookie/Get/Post enthalten sein!"); // Verzeichnis erstellen if (!file_exists($userimgdir.$chatuser)) { if (!mkdir($userimgdir.$chatuser,0755)) die("Verzeichnis konnte nicht erstellt werden<br>"); } // Datei kopieren $tmpfile=$array["tmp_name"]; $ts=time(); $newfile=$userimgdir.$chatuser."/".$ts.".".$ext; if (!copy($tmpfile, $newfile)) die("$image_name konnte nicht kopiert werden!<br>"); print "$image_name wurde gespeichert in $newfile!"; } #phpinfo(); ?>
php::bar PHP Wiki - Listenarchive