Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Dateien mit PHP und cURL hochladen?

Wie kann ich Dateien mit PHP und cURL hochladen?

DDD
DDDOriginal
2024-12-29 01:58:11914Durchsuche

How Can I Upload Files Using PHP and cURL?

Dateien mit PHP und cURL hochladen

Diese Frage untersucht, wie man Dateien mit PHP, insbesondere mit cURL, hochlädt. Der Benutzer sendet eine Datei über ein Formular an ein PHP-Skript, das sie dann an ein anderes Skript weiterleiten muss. Der zum Empfangen und Hochladen der Datei bereitgestellte PHP-Code lautet wie folgt:

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

So senden Sie die Datei mit cURL an den Empfängerserver:

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);

Zusätzlich Ressourcen:

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

Hinweis für PHP 5.5:

In PHP 5.5 wird empfohlen, für Datei-Uploads den neueren RFC „curl_file_upload“ zu verwenden. Wenn Sie jedoch den veralteten Ansatz verwenden, stellen Sie sicher, dass curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); ist eingestellt.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateien mit PHP und cURL hochladen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn