Php Bild mit cURL @ auf Remote-Server hochlad
Ich möchte cURL in PHP verwenden, um ein Bild auf einen Remote-Image-Server hochzuladen. Ich habe diesen Code auf dem Webserver:
<form enctype="multipart/form-data" encoding="multipart/form-data" method="post" action="webform.php">
<input name="somevar" type=hidden value='.$somevar.'>
<input name="uploadfile" type="file" value="choose">
<input type="submit" value="Upload">
</form>
und
if (isset($_FILES['uploadfile']) ) {
$filename = $_FILES['uploadfile']['tmp_name'];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
$POST_DATA = array(
'somevar' => $somevar,
'uploadfile' => $data
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://1.1.1.1/receiver.php');
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $POST_DATA);
$response = curl_exec($curl);
curl_close ($curl);
echo $response;
}
Auf dem Image-Server habe ich eine PHP-Datei zum Hochladen von Bildern, die auf localhost sehr gut funktioniert hat, aber ich würde sie gerne auf dem Remote-Server verwenden. So habe ich mit der hochgeladenen Bilddatei in der receiver.php umgegangen:
move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)
Ich möchte die Image-Datei direkt an das Remote-Server-Skript übergeben. Auf diese Weise muss nicht das gesamte Upload-Skript neu geschrieben werden. Ich habe versucht, den Bildnamen, den Typ und die Größe als Beitragsvariablen zu veröffentlichen, aber ich habe den ['tmp_name'] nicht erhalten, da er nicht auf localhost gespeichert ist.
Wie kann ich das lösen? Vielen Dank für jede Hilfe!