curl 文件上传

您所在的位置:网站首页 美妆市场背景 curl 文件上传

curl 文件上传

2023-11-13 06:39| 来源: 网络整理| 查看: 265

curl_file_create (带路径的文件名 [, 文件mimetype , 上传数据里的文件名] ) ;

new cURLFile (带路径的文件名 [, 文件mimetype , 上传数据里的文件名] ) ;

$ch = curl_init('http://example.com/upload.php'); // 创建CURLFile对象 $cfile = curl_file_create('cats.jpg','image/jpeg','test_name'); // 分配提交的数据 $data = array('test_file' => $cfile); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch); upload.php打印输出: array(1) { ["test_file"]=> array(5) { ["name"]=> string(9) "test_name" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(14) "/tmp/phpPC9Kbx" ["error"]=> int(0) ["size"]=> int(46334) } } View Code

 

$ch = curl_init(); // 上传多个 $postFields = array( 'file[0]' => new cURLFile($file1, $mimetype1, $basename1), 'file[1]' => new cURLFile($file2, $mimetype2, $basename2) ) curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);

将@前缀文件名转为cURLFile

if(is_array($postfields) == true) { foreach($postfields as $key => $value) { // 以@开头 if(strpos($value, '@') === 0) { // 得到去掉@的文件名 $filename = ltrim($value, '@'); //转为CURLFile类 $postfields[$key] = new CURLFile($filename); } } } curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);

 

//上传地址 $target="http://youraddress.tld/example/upload.php"; //面向过程的方式创建CURLFile 对象 $cfile1 = curl_file_create('resource/test.png','image/png','testpic'); //面向对象 的方式创建CURLFile 对象 $cfile2 = new CURLFile('resource/test.png','image/png','testpic'); 分配post提交的数据 $imgdata =[ 'myimage1' => $cfile1, 'myimage2' => $cfile2 ]; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $target); //可选 curl_setopt($curl, CURLOPT_USERAGENT,'Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.15'); 可选 curl_setopt($curl, CURLOPT_HTTPHEADER,array('User-Agent: Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.15','Referer: http://someaddress.tld','Content-Type: multipart/form-data')); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 停止验证证书 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//将获取的信息以字符串返回 curl_setopt($curl, CURLOPT_POST, true); // post请求 curl_setopt($curl, CURLOPT_POSTFIELDS, $imgdata); // 提交 //可选 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); // 上传后有重定向 $r = curl_exec($curl); curl_close($curl); View Code

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3