Bild upload und gleich anzeigen

roy15

Mitglied
Hallo,

habe ein Problem und weiss nicht weiter.
Ich Lade in Bild auf mein Server und speichere den Link in der SQL,
gleich nach dem upload möchte ich das der Link aus der DB abrufen und angezeigt wird.

Problem ist aber das die Seite wo das Bild (der Link) angezeigt werden soll, schneller geladen wird
als in der DB geschrieben. .. oder das auslesen von der DB ******

Habe ein Bild was nicht größer ist als ca. 30 kb, geht das so wie ich das möchte, ist das Bild größer als 30 kb oder
die i-net Leitung lahm, muss ich erst die Seite aktualisieren damit der Link aus der SQL da ist.

Meine frage wäre, was kann ich tun damit die Seite erst weitergeleitet wird wenn der upload fertig ist ?
 
Du könntest nen sleep(x); reinsetzen, würde ich aber nicht machen.
Versuch das Bild doch per AJAX nachzuladen. Das macht einfach jede Sekunde einen request und prüft, ob das Bild schon da ist. Falls ja, wird es geladen.
 
Hi,

wenn du den Link in die DB schreibst dann müsstest du den Link doch ermitteln können ohne ihn erneut aus der Datenbank zu holen? Wegen der Weiterleitung könntest du bei der Weiterleitung zur nächsten Seite ja einfach einen Parameter für den Link ($_GET) mit übergeben. Dann sparst du dir das Warten auf die DB.
 
Hi,

ich lade jetzt gleich das Bild mit jquery,
dazu habe ich das gefunden:
PHP:
http://blog.checkdomain.de/programmierung/html5-file-api-formdata-und-xmlhttprequest2/
da steht auch:
Weitere Felder können dem “FormData”-Objekt ebenfalls mit der “append”-Methode übergeben werden.

Da ich den Link aber in der DB speichern will, muss ich die id mit schicken zu der "upload.php".

Wie bekomme ich die $id zu der upload.php ?
 
Hi Nino,

mit GET wäre ganz gut aber ...
wenn ich das so mache geht das
PHP:
request.open('POST', 'upload.php?id=1', true);
aber so geht das nicht (bitte nicht lachen)
PHP:
request.open('POST', 'upload.php?id=$id', true);

wie wäre das richtig ?
 
Wie wärs mit

PHP:
request.open('POST', 'upload.php?id=<?php echo $id; ?>', true);

?
 
Zurück