Heim  >  Artikel  >  php教程  >  PHP-Curl-Upload-Datei

PHP-Curl-Upload-Datei

大家讲道理
大家讲道理Original
2016-11-08 14:23:261397Durchsuche

Angenommen, das serverseitige Upload-Dateiverarbeitungsskript upload.php:

<?php
 
print_r($_POST);
print_r($_FILES);
?>

1. Verwenden Sie die CURL-Standardmethode



//如果php文件是utf8编码,系统是GBK编码,那么就需要转下编码,要不然Php在系统中找不到这个文件 
$file = realpath(mb_convert_encoding(&#39;测试图片.JPG&#39;,&#39;GBK&#39;,&#39;utf8&#39;));
 
$file = realpath(&#39;temp.jpg&#39;); //要上传的文件 
$fields[&#39;f&#39;] = &#39;@&#39;.$file; // 前面加@符表示上传图片
 
$ch =curl_init();
 
 
curl_setopt($ch,CURLOPT_URL,&#39;http://localhost/upload.php&#39;);
 
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
 
 
$content = curl_exec($ch);
 
echo $content;

2. Ein alternativer Ansatz: Manchmal müssen wir dynamisch generierte Inhalte als Dateien auf den Remote-Server hochladen, möchten aber keine temporären Dateien auf dem Server erstellen lokaler Server. Auf diese Weise haben wir diese alternative Schreibweise



$contents =<<< &#39;TEXT&#39;
这里是文件内容,也可以是图片二进制,图片需要修改上传文件类型
TEXT;
 
$varname = &#39;my&#39;;//上传到$_FILES数组中的 key
$name = &#39;3.txt&#39;;//文件名
$type = &#39;text/plain&#39;;//文件类型
 
$key = "$varname\"; filename=\"$name\r\nContent-Type: $type\r\n";
$fields[$key] = $contents;
 
 
 
$ch =curl_init();
 
 
curl_setopt($ch,CURLOPT_URL,&#39;http://localhost/upload.php&#39;);
 
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
 
 
$content = curl_exec($ch);
 
echo $content;

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