Hallo.
Ich versuche verzweifelt, ein Bild auf einen Bildhoster hochzuladen und die Antwort (Name/Link der Datei) auszulesen.
Eigentlich wäre das Auslesen kein Problem...wenn es denn eine Antwort geben würde.
Hier mal der letzte Stand der Dinge:
Beim ersten Aufruf wird ein Upload-Formular angezeigt. Man wählt die Datei und klickt auf "Hochladen!".
Das Skript ermittelt die Datei-Informationen, startet den Upload und fertig. So sollte es jedenfalls sein.
Aber es funktioniert nicht. In $result steht lediglich eine "1" drin, obwohl darin die HTML-Seite drinstehen müsste, die der BildHoster zurückgibt. (Ich habe mir CURL schon diverse Formulardaten hochgeladen und die Ergebnisse gefiltert, was bis jetzt immer wunderbar funktioniert hat. Allerdings mache ich zum ersten Mal einen Datei-Upload.)
Ich denke, dass der Upload gar nicht erst funktioniert hat, verstehe dann aber wiederum nicht, wieso es keine Fehlermeldung gibt.
Den Quellcode habe ich von einem Beispiel-Source, der eigentlich funktionieren sollte.
Es gibt noch die Möglichkeit, den Upload über CURLOPT_POSTFIELDS zu regeln, aber das funktioniert leider genauso wenig.
Hat jemand einen Tipp für mich, wo ich suchen muss?
cya
Ich versuche verzweifelt, ein Bild auf einen Bildhoster hochzuladen und die Antwort (Name/Link der Datei) auszulesen.
Eigentlich wäre das Auslesen kein Problem...wenn es denn eine Antwort geben würde.
Hier mal der letzte Stand der Dinge:
Code:
if (count($_FILES) == 0) { echo "<div style=\"text-align:center\">"; echo "<form action=\"imagebanana.php\" method=\"post\" enctype=\"multipart/form-data\">\n"; echo "<input id=\"image\" type=\"file\" style=\"width:260px;\" name=\"upload\" />\n"; echo "<input type=\"submit\" style=\"width:100px;\" value=\"Hochladen!\" />\n"; echo "</form>\n"; echo "</div>\n"; echo "</body>\n"; echo "</html>\n"; } else { $localfile = $_FILES['upload']['tmp_name']; $fp = fopen($localfile, 'r'); $handle = curl_init(); curl_setopt($handle, CURLOPT_URL, "http://www.imagebanana.com/"); curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($handle, CURLOPT_UPLOAD, 1); curl_setopt($handle, CURLOPT_INFILE, $fp); curl_setopt($handle, CURLOPT_INFILESIZE, filesize($localfile)); $result = curl_exec($handle); $info = curl_getinfo ($handle); curl_close($handle); echo "Result: " . $result . "<br>"; echo "Info: "; echo print_r($info); }
Das Skript ermittelt die Datei-Informationen, startet den Upload und fertig. So sollte es jedenfalls sein.
Aber es funktioniert nicht. In $result steht lediglich eine "1" drin, obwohl darin die HTML-Seite drinstehen müsste, die der BildHoster zurückgibt. (Ich habe mir CURL schon diverse Formulardaten hochgeladen und die Ergebnisse gefiltert, was bis jetzt immer wunderbar funktioniert hat. Allerdings mache ich zum ersten Mal einen Datei-Upload.)
Ich denke, dass der Upload gar nicht erst funktioniert hat, verstehe dann aber wiederum nicht, wieso es keine Fehlermeldung gibt.
Den Quellcode habe ich von einem Beispiel-Source, der eigentlich funktionieren sollte.
Es gibt noch die Möglichkeit, den Upload über CURLOPT_POSTFIELDS zu regeln, aber das funktioniert leider genauso wenig.
Hat jemand einen Tipp für mich, wo ich suchen muss?
cya
Kommentar