"@E:/png.png");//文件路径,前面要加@,表明是文件上传. $curl = curl_init("http://localhost/a.php"/> "@E:/png.png");//文件路径,前面要加@,表明是文件上传. $curl = curl_init("http://localhost/a.php">

Heim >Backend-Entwicklung >PHP-Tutorial > PHP使用CURL下传文件

PHP使用CURL下传文件

WBOY
WBOYOriginal
2016-06-13 13:02:07840Durchsuche

PHP使用CURL上传文件
用curl上传文件的话很方便,什么header,post串都不用生成了,用fsockopen要写一堆
curl:

$file = array("upimg"=>"@E:/png.png");//文件路径,前面要加@,表明是文件上传.
$curl = curl_init("http://localhost/a.php");
curl_setopt($curl,CURLOPT_POST,true);
curl_setopt($curl,CURLOPT_POSTFIELDS,$file);
curl_exec($curl);

fsockopen
$uploadFile = file_get_contents("E:/png.png");
$boundary   = md5(time());

$postStr .="--".$boundary."\r\n";//边界开始,注意默认比header定义的boundary多两个'-'
$postStr .="Content-Disposition: form-data; name=\"upimg\"; filename=\"E:/png.png\"\r\n";
$postStr .="Content-Type: image/png\r\n\r\n";
$postStr .=$uploadFile."\r\n";
$postStr .="--".$boundary."\r\n";//边界结束
fwrite($fp,"POST /a.php HTTP/1.0\r\n");
fwrite($fp,"Content-Type: multipart/form-data; boundary=".$boundary."\r\n");
fwrite($fp,"Content-length:".strlen($postStr)."\r\n\r\n");
fwrite($fp,$postStr);
while (!feof($fp)){
     echo fgets($fp, 128);
}
fclose($fp);

print_r($_FILES);

1 楼 pz9042 2011-10-24  
我想问下,curl可以上传文件吗,依 你的代码,在指定url打印$_FILES,确实有信息,但,我在所谓的临时文件夹里根本没找到文件,更无法上传文件,楼主,希望你贴出主要的代码,你现在的代码,只不过是填写了信息,根本没有上传的代码
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