• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Bilderupload

Status
Für weitere Antworten geschlossen.

andiger

Neues Mitglied
Hallo, ich bin derzeit an einem "Kleinanzeigenmarkt" bei dem auch ein Bild eingestellt werden kann.

das Problem ist, dass ich aus "Abschicken" klicke, ich dann keine Fehlermeldung erhalte, das Bild jedoch nicht auf dem Server ist. Mache ich das selbe nochmal, also gleiches Bild erneut hochladen, dann ist es oben. Sprich immer zwei mal machen, damit es geht!

PHP:
$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
$maxdatasize = 1500000; 
	
if (empty($name)) $error [] ="Du hast kein Bild ausgewählt!"; 
	
if ($size > $maxdatasize) $error[] = "Das Bild ist zu groß!<br>Es darf maximal ".$maxdatasize." groß sein."; 
	
while (file_exists($name)) doppel_datei($name); 
move_uploaded_file($tempname, $name);
 
Werbung:
Hast du hier nicht Klammern vergessen?
PHP:
while (file_exists($name)) doppel_datei($name);
move_uploaded_file($tempname, $name);
Die Klammern der While-Schleife?
PHP:
while (Bedingung) {Anweisung}
 
Ich glaube das ist wie bei einer if schleife.
Nach
PHP:
if()
kann man ohne geschweifte klammern schreiben, wenn nur die danach folgende zeile zur if funktion gehört.
es ist also das möglich:
PHP:
if(1==1)
echo "1 ist 1";
if(2=2)
echo"2 ist2";

denkemal das geht dann bei einer while schleife auch
------------------------------------------------------------------------
Das du 2 mal hochladen musst leigt daran:
Generell bei allen Upload Scripts wird eine Datei erst mal im cahce als temporäre datei gespeichert. Anschließend wird sie aus dem Cache auf den Server geschoben.
Dein Script versucht die Datei sofort auf dem Server zu Speichern, was aber nicht funktioniert.
d.H.:
Du weißt das Script an, die datei auf den Server zu laden, dass geht aber nicht, deswegen lädt das script die datei nur in den Cache.
Beim zweiten durchlauf ist die datei im cahce und das script kann deine eigentlichen uploadbefehle ausführen.

Du brauchst also 2 Durchgägne:
1. vom Computer in den Cahce speichern
2. vom Chache auf den Server speichern.

Ich regel sowas, in dem ich das uploaden über mehrere seiten lade, man kann natürlich auch per while schleife das script 2 mal ausführen fertig
PHP:
$i = 0;
while ($i != 2)
{
//HIER STEHT DEIN SCRIPT

$i++;
}
 
Zuletzt bearbeitet:
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben