Wenn der Browser eine Datei auf den Server hochlädt, sendet er eine HTTP POST-Anfrage, die den Inhalt der Datei enthält.
Sie müssen das replizieren.
Mit PHP, der einfachste (oder zumindest am häufigsten verwendeten) Lösung wahrscheinlich mit curl
zu arbeiten ist.
Wenn Sie einen Blick auf die Liste der Optionen nehmen Sie mit curl_setopt
einstellen können, werden Sie sehen, dieses: CURLOPT_POSTFIELDS
(Zitat):
Die vollständigen Daten in einem HTTP posten "POST" Operation.
Um eine Datei zu posten, geben Sie einen Dateinamen mit @ voran und verwenden Sie den vollständigen Pfad .
Dies kann entweder als urlencoded String übergeben, wie ‚para1 = Wert1 & para2 = val2 & ...‘ oder als Array mit dem Feldnamen als Schlüssel und Felddaten als Wert.
Wenn der Wert ein Array ist, wird der Content-Type-Header auf multipart/form-data gesetzt.
Nicht getestet, aber ich nehme an, dass so etwas wie dies den Trick tun sollte - oder zumindest, Sie beginnen zu helfen:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/your-destination-script.php");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'file' => '@/..../file.jpg',
// you'll have to change the name, here, I suppose
// some other fields ?
));
$result = curl_exec($ch);
curl_close($ch);
Grundsätzlich Sie:
- verwenden curl
- müssen Sie die Ziel-URL
- Sie angeben wollen
curl_exec
das Ergebnis zurückzukehren, und nicht ausgegeben es
- sind
POST
verwenden und nicht GET
- werden einige Daten zu veröffentlichen, einschließlich einer Datei - beachten Sie die
@
bevor der Pfad der Datei.
Ich denke, das wird funktionieren und ich werde es versuchen! Danke :-) (Hey du hast den gleichen Vornamen dann ich also deine Antwort muss richtig sein ^^) – qualle
Gern geschehen :-) viel Spaß! * (viele Leute mit unserem Namen, ich sehe ^^) * –
+1, ich wusste nicht, es war so einfach wie mit dem '@' Symbol mit PHP :-) –