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

Home >Backend Development >PHP Tutorial > PHP使用CURL下传文件

PHP使用CURL下传文件

WBOY
WBOYOriginal
2016-06-13 13:02:07837browse

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,确实有信息,但,我在所谓的临时文件夹里根本没找到文件,更无法上传文件,楼主,希望你贴出主要的代码,你现在的代码,只不过是填写了信息,根本没有上传的代码
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn