Uploadscript

Hallo

Ich habe einen uploadscript und nun hätte ich gerne das die hochgeladenen bilder
nummeriert also fortlaufend 1,2,3… benannt werden !
ist das möglich ???

<?php // Einstellungen $maxsize = "1468006"; // Wie groß (1,4 MB) $uploddir = "upload_Ordner/"; // wo hin $extensions = array(".jpg", ".tif", ".gif", ".PNG", ".bmp" ); // erlaubte erweiterungen if($_POST['action']=="upload") { $tmp_name = $HTTP_POST_FILES['bild']['tmp_name']; // der originalname $name = $HTTP_POST_FILES['bild']['name']; // der originalname $size = $HTTP_POST_FILES['bild']['size']; // größe der datei $type = $HTTP_POST_FILES['bild']['type']; // der MIME Type der Datei $ext_tmp = explode(".", $name); $ext = ".".$ext_tmp[(count($ext_tmp)-1)]; if(in_array($ext, $extensions)) { if($size<=$maxsize && $size!=0) { while(file_exists($uploddir.$newname) || !$newname) { $newname = md5(uniqid(rand())); } if(move_uploaded_file($tmp_name, $uploddir.$newname.$ext)) { echo "Die Datei erfolgreich hochgeladen.
"; echo "Größe: ".$size." Byte
"; echo "Name: ".$name."
"; echo "MIME-Type: ".$type."
"; echo "Ansehen: ".$uploddir.$newname.$ext.""; } else{echo "Fehler: Datei konnte nicht verschoben werden!";} } else { echo "Ihre Datei ($size) ist über $maxsize Bytes oder gleich 0 KB"; } } else { echo "Falsche Erweiterung: ".$name; } } else { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
Datei
"; } ?>

Ich habe es schon versucht und mit hilfe einen text conter geschft den ich zerstückelt habe

wen du lösung hast were toll sie auch zu erfahren wennoch andere gibt

Ich würde es mit einer Neuen Datei machen die nach oben Zählt.
Hab mahl das skript verändert fals fehler auftreten schreib mir ne pm (habs nämlich nicht getestet)

<?php // Einstellungen $maxsize = "1468006"; // Wie groß (1,4 MB) $uploddir = "upload_Ordner/"; // wo hin $extensions = array(".jpg", ".tif", ".gif", ".PNG", ".bmp" ); // erlaubte erweiterungen // Mein teil $datei="zahl.txt";//Datei $stellen = 5;//Maximalestellen if(file_exists($datei)){ $fp=fopen($datei,"r+"); $zahl=fgets($fp,$stellen); $zahl++; rewind($fp); flock($fp,2); fputs($fp,$zahl,$stellen); flock($fp,3); fclose($fp); }else{ $fp=fopen($datei,"w"); $zahl="1"; fputs($fp,$zahl,$stellen); fclose($fp); } $zahl=sprintf("%0".$stellen."d",$zahl); // Mein teil ende if($_POST['action']=="upload") { $tmp_name = $HTTP_POST_FILES['bild']['tmp_name']; // der originalname $name = $zahl-$HTTP_POST_FILES['bild']['name']; //Zahl + "-" +originalname $size = $HTTP_POST_FILES['bild']['size']; // größe der datei $type = $HTTP_POST_FILES['bild']['type']; // der MIME Type der Datei $ext_tmp = explode(".", $name); $ext = ".".$ext_tmp[(count($ext_tmp)-1)]; if(in_array($ext, $extensions)) { if($size<=$maxsize && $size!=0) { while(file_exists($uploddir.$newname) || !$newname) { $newname = md5(uniqid(rand())); } if(move_uploaded_file($tmp_name, $uploddir.$newname.$ext)) { echo "Die Datei erfolgreich hochgeladen.
"; echo "Größe: ".$size." Byte
"; echo "Name: ".$name."
"; echo "MIME-Type: ".$type."
"; echo "Ansehen: ".$uploddir.$newname.$ext.""; } else{echo "Fehler: Datei konnte nicht verschoben werden!";} } else { echo "Ihre Datei ($size) ist über $maxsize Bytes oder gleich 0 KB"; } } else { echo "Falsche Erweiterung: ".$name; } } else { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
Datei
"; } ?>

lg

ich habs mal mit gif und jpeg getestet und da erscheint immer “falsche erweiterung nummer
x” aus der txt datei die bei jedem versuchten upload eins hochzählt

ich glaub da ist ein fehler in dem upload skript weil bei mir läuft noch nicht einmahl das alte (deins) ich geb dir mal meins mit counter einfach entpacken und es sote fuktioniren. Ach ja Dateinegröse noch umstellen

ok danke funktioniert sehr gut, auch mit der nummerierung …

das einzige problem ist das der ursprüngliche name des bildes beibehalten wird und nur eine nummer hinzugefügt wird !

du wilst nur eine nummer ?
Dan must du diese zwei Zeihlen
move_uploaded_file($_FILES[‘datei’][‘tmp_name’], “upload/$zahl-”.$_FILES[‘datei’][‘name’]);
echo “Das Bild wurde Erfolgreich nach upload/$zahl-”.$_FILES[‘datei’][‘name’]." hochgeladen";

durch diese ersetzen.
move_uploaded_file($_FILES[‘datei’][‘tmp_name’], "upload/$zahl);
echo "Das Bild wurde Erfolgreich nach upload/$zahl;
Sollte fuktioniren fals es probleme gibt sende ich dir die Ganze datei noch eimamhl.

Parse error: syntax error, unexpected T_STRING in /usr/export/www/hosting/manshoon/upload/upload.php on line 17

scheint sich noch ein kleiner fehler eingeschlichen zu haben …
kannst du mir sagen was das problem ist

Da haben ein Paar " gefehlt.

so ist es richtig:

$ext = strrchr($_FILES['datei']['name'], "."); move_uploaded_file($_FILES['datei']['tmp_name'], "upload/".$zahl.$ext); echo "Das Bild wurde Erfolgreich nach upload/".$zahl.$ext." hochgeladen!";

übrigens wird jetzt auch die Dateiendung beibehalten.

ok jetzt gehts perfekt !!! :wink:
thx allen