Ich_halt224
Erfahrenes Mitglied
Hallo ihr Lieben,
ich bräuchte mal kurz Hilfe bei einem ziemlich kleinem und einfachem Upload-Code.
Bin leider ziemlicher in PHP und steige deswegen nicht dahinter, wie ich mein Problem lösen kann.
Also ist ein ganz gewöhnliches Upload-Script, welches den Dateinamen ändert.
(Man kann 5 Dateien gleichzeitig hochladen)
Hier der Code der "upload.php":
So, nun habe ich folgendes Problem:
Wenn ich nur zwei Dateien habe die ich hochladen will, bekomme ich folgende Meldung:
Die ersten zwei Ausgaben sind ja richtig, allerdings erfindet er dann eine "File00003.jpg", denn diese gibt es ja nicht, da ich nur zwei Dateien ausgewählt habe, und gibt das bei jedem der anderen Felder auch aus, wo ja nichts drin stand, da nur zwei Dateien ausgewählt wurden.
Könnt Ihr mir helfen, dass bei den Feldern, bei denen keine Datei angegeben wurde, auch kein Echo erfolgt?
Und wie löse ich das Problem mit der erfundenen "File00003.jpg"?
Vielen Dank schon mal für eure Hilfe.
Tim
ich bräuchte mal kurz Hilfe bei einem ziemlich kleinem und einfachem Upload-Code.
Bin leider ziemlicher in PHP und steige deswegen nicht dahinter, wie ich mein Problem lösen kann.
Also ist ein ganz gewöhnliches Upload-Script, welches den Dateinamen ändert.
(Man kann 5 Dateien gleichzeitig hochladen)
Hier der Code der "upload.php":
PHP:
<?php
$tempname = $_FILES['file']['tmp_name'];
$ext = $type == 'image/gif' ? '.gif' : '.jpg';
$name = 'File00001'.$ext;
$num = 1;
while(file_exists($name)) {
$num++;
$name = 'File'.str_repeat('0', 5-strlen((string)$num)).$num.$ext;
}
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
if(empty($err)) {
copy("$tempname", "$name");
echo "Die Datei $name wurde erfolgreich hochgeladen!<br>
Die Adresse zu deinem Foto ist folgende: <a target='_blank' href='http://www.chvt.de/images/$name'>www.chvt.de/images/$name</a><br><br>";
}
else {
foreach($err as $error)
echo "$error<br>";
}
$tempname = $_FILES['file1']['tmp_name'];
$ext = $type == 'image/gif' ? '.gif' : '.jpg';
$name = 'File00001'.$ext;
$num = 1;
while(file_exists($name)) {
$num++;
$name = 'File'.str_repeat('0', 5-strlen((string)$num)).$num.$ext;
}
$type = $_FILES['file1']['type'];
$size = $_FILES['file1']['size'];
if(empty($err)) {
copy("$tempname", "$name");
echo "Die Datei $name wurde erfolgreich hochgeladen!<br>
Die Adresse zu deinem Foto ist folgende: <a target='_blank' href='http://www.chvt.de/images/$name'>www.chvt.de/images/$name</a><br><br>";
}
else {
foreach($err as $error)
echo "$error<br>";
}
$tempname = $_FILES['file2']['tmp_name'];
$ext = $type == 'image/gif' ? '.gif' : '.jpg';
$name = 'File00001'.$ext;
$num = 1;
while(file_exists($name)) {
$num++;
$name = 'File'.str_repeat('0', 5-strlen((string)$num)).$num.$ext;
}
$type = $_FILES['file2']['type'];
$size = $_FILES['file2']['size'];
if(empty($err)) {
copy("$tempname", "$name");
echo "Die Datei $name wurde erfolgreich hochgeladen!<br>
Die Adresse zu deinem Foto ist folgende: <a target='_blank' href='http://www.chvt.de/images/$name'>www.chvt.de/images/$name</a><br><br>";
}
else {
foreach($err as $error)
echo "$error<br>";
}
$tempname = $_FILES['file3']['tmp_name'];
$ext = $type == 'image/gif' ? '.gif' : '.jpg';
$name = 'File00001'.$ext;
$num = 1;
while(file_exists($name)) {
$num++;
$name = 'File'.str_repeat('0', 5-strlen((string)$num)).$num.$ext;
}
$type = $_FILES['file3']['type'];
$size = $_FILES['file3']['size'];
if(empty($err)) {
copy("$tempname", "$name");
echo "Die Datei $name wurde erfolgreich hochgeladen!<br>
Die Adresse zu deinem Foto ist folgende: <a target='_blank' href='http://www.chvt.de/images/$name'>www.chvt.de/images/$name</a><br><br>";
}
else {
foreach($err as $error)
echo "$error<br>";
}
$tempname = $_FILES['file4']['tmp_name'];
$ext = $type == 'image/gif' ? '.gif' : '.jpg';
$name = 'File00001'.$ext;
$num = 1;
while(file_exists($name)) {
$num++;
$name = 'File'.str_repeat('0', 5-strlen((string)$num)).$num.$ext;
}
$type = $_FILES['file4']['type'];
$size = $_FILES['file4']['size'];
if(empty($err)) {
copy("$tempname", "$name");
echo "Die Datei $name wurde erfolgreich hochgeladen!<br>
Die Adresse zu deinem Foto ist folgende: <a target='_blank' href='http://www.chvt.de/images/$name'>www.chvt.de/images/$name</a><br><br>";
}
else {
foreach($err as $error)
echo "$error<br>";
}
?>
So, nun habe ich folgendes Problem:
Wenn ich nur zwei Dateien habe die ich hochladen will, bekomme ich folgende Meldung:
Code:
Die Datei File00001.jpg wurde erfolgreich hochgeladen!
Die Adresse zu deinem Foto ist folgende: www.chvt.de/images/File00001.jpg
Die Datei File00002.jpg wurde erfolgreich hochgeladen!
Die Adresse zu deinem Foto ist folgende: www.chvt.de/images/File00002.jpg
Die Datei File00003.jpg wurde erfolgreich hochgeladen!
Die Adresse zu deinem Foto ist folgende: www.chvt.de/images/File00003.jpg
Die Datei File00003.jpg wurde erfolgreich hochgeladen!
Die Adresse zu deinem Foto ist folgende: www.chvt.de/images/File00003.jpg
Die Datei File00003.jpg wurde erfolgreich hochgeladen!
Die Adresse zu deinem Foto ist folgende: www.chvt.de/images/File00003.jpg
Die ersten zwei Ausgaben sind ja richtig, allerdings erfindet er dann eine "File00003.jpg", denn diese gibt es ja nicht, da ich nur zwei Dateien ausgewählt habe, und gibt das bei jedem der anderen Felder auch aus, wo ja nichts drin stand, da nur zwei Dateien ausgewählt wurden.
Könnt Ihr mir helfen, dass bei den Feldern, bei denen keine Datei angegeben wurde, auch kein Echo erfolgt?
Und wie löse ich das Problem mit der erfundenen "File00003.jpg"?
Vielen Dank schon mal für eure Hilfe.
Tim