it-swarm.com.de

wie man eine datei mit curl mit php hochlädt

Ich möchte wissen, wie man Dateien mit cURL oder irgendetwas anderem in PHP hochlädt. Ich habe viele Male in Google gesucht, aber keine Ergebnisse.

Mit anderen Worten, der Benutzer sieht eine Schaltfläche zum Hochladen von Dateien in einem Formular, das Formular wird in mein PHP-Skript hochgeladen, und mein PHP-Skript muss es erneut in ein anderes Skript hochladen (z. B. auf einem anderen Server).

Ich habe diesen Code, um die Datei zu erhalten und sie hochzuladen

code:

echo"".$_FILES['userfile']."";
$uploaddir = './';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if ( isset($_FILES["userfile"]) ) {
    echo '<p><font color="#00FF00" size="7">Uploaded</font></p>';
    if (move_uploaded_file
($_FILES["userfile"]["tmp_name"], $uploadfile))
echo $uploadfile;
    else echo '<p><font color="#FF0000" size="7">Failed</font></p>';
}

Ich möchte, dass der Code die Datei an die Empfängerdatei sendet.

64
Hadidi44

Verwenden:

if (function_exists('curl_file_create')) { // php 5.5+
  $cFile = curl_file_create($file_name_with_full_path);
} else { // 
  $cFile = '@' . realpath($file_name_with_full_path);
}
$post = array('extra_info' => '123456','file_contents'=> $cFile);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$target_url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result=curl_exec ($ch);
curl_close ($ch);

Sie können auch verweisen:

http://blog.derakkilgo.com/2009/06/07/send-a-file-via-post-with-curl-and-php/

Wichtiger Hinweis für PHP 5.5 +:

Jetzt sollten wir https://wiki.php.net/rfc/curl-file-upload verwenden, aber wenn Sie immer noch diesen veralteten Ansatz verwenden möchten, müssen Sie curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); einstellen.

129
karthik