博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP curl 模拟POST 上传文件(含php 5.5后CURLFile)
阅读量:6312 次
发布时间:2019-06-22

本文共 4633 字,大约阅读时间需要 15 分钟。

$v){ $set_head[] = "$k:$v"; } curl_setopt($ch, CURLOPT_HTTPHEADER, $set_head); } curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 1);// 1s to timeout. $response = curl_exec($ch); if(curl_errno($ch)){ //error return curl_error($ch); } $reslut = curl_getinfo($ch); print_r($reslut); curl_close($ch); $info = array(); if($response){ $info = json_decode($response, true); } return $info; } else { throw new Exception('Do not support CURL function.'); } } //*/ // function api_notice_increment($url, $data) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1);// $data = http_build_query($data); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //curl_file_create // $result = curl_exec($ch); $lst['rst'] = curl_exec($ch); $lst['info'] = curl_getinfo($ch); curl_close($ch); return $lst; // return $result; } /** * curl文件上传 * @var struing $r_file 上传文件的路劲和文件名 * */ /* function upload_file($url,$r_file) { $file = array("fax_file"=>'@'.$r_file,'type'=>'image/jpeg');//文件路径,前面要加@,表明是文件上传. $curl = curl_init(); curl_setopt($curl, CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_POST,1); curl_setopt($curl,CURLOPT_POSTFIELDS,$file); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HEADER, 0); $result = curl_exec($curl); //$result 获取页面信息 curl_close($curl); echo $result ; //输出 页面结果 }*/ function upload_file($url,$filename,$path,$type){ $data = array( 'pic'=>'@'.realpath($path).";type=".$type.";filename=".$filename ); $ch = curl_init();

   //设置帐号和帐号名

 

   curl_setopt($ch, CURLOPT_USERPWD, 'joe:secret' );

curl_setopt($ch, CURLOPT_URL, $url);        curl_setopt($ch, CURLOPT_POST, true );        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);        curl_setopt($ch, CURLOPT_HEADER, false);        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);        // curl_getinfo($ch);        $return_data = curl_exec($ch);        curl_close($ch);        echo $return_data;          }  // php 5.5 以后请用以下函数

function upload_file($url,$filename,$path,$type){

  $data = array(
    'pic'=>new CURLFile(realpath($path))
  );
  $ch = curl_init();

   //也可以用以下注释掉的不用改代码,觉得新版的可以省下点代码,看个人

   //curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);

   //设置帐号和帐号名

   curl_setopt($ch, CURLOPT_USERPWD, 'joe:secret' );

  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_POST, true );
  curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  curl_setopt($ch, CURLOPT_HEADER, false);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  // curl_getinfo($ch);
  $return_data = curl_exec($ch);
  curl_close($ch);
  echo $return_data;
}

if ($_POST) {        $url = 'http://platform.com/upload/image';        //        $path = $_SERVER['DOCUMENT_ROOT'];/*        print_r($_FILES);        exit;*/        //$filename = $path."/232.jpg";        //upload tmp        $tmpname = $_FILES['fname']['name'];        $tmpfile = $_FILES['fname']['tmp_name'];        $tmpType = $_FILES['fname']['type'];//        echo $tmpType;        upload_file($url,$tmpname,$tmpfile,$tmpType);        /*        $data = array(                'path'=>"@$path/232.jpg",                'name'=>'h'        );        */        //'pic'=>'@/tmp/tmp.jpg', 'filename'=>'tmp'        //$data = array('pic'=>"@$filename", 'filename'=>'tmp');/*        $data = array(            'uid'    =>    10086,            'pic'    =>    '@$tmpfile'.';type='.$tmpType        );        $info = api_notice_increment($url, $data);*/        //$info = curl_post($url, $data);        //$info = api_notice_increment($url, $data);        //upload_file($url,$tmpfile);        //print_r($info);        exit;/*        $file = 'H:\www\test\psuCARGLSPA-pola.jpg'; //要上传的文件        $src = upload_curl_pic($file);        echo $src;*/    }    ?>

UpLoad:

UpLoad:

 

转载地址:http://fdhxa.baihongyu.com/

你可能感兴趣的文章
【Linux】查询某个字符串出现次数
查看>>
高效使用jquery之一:请使用'On'函数
查看>>
冲刺第一周第三天
查看>>
ERP环境检测工具设计与实现 Environment Detection
查看>>
不要在构造中做太多事情,不然有时候会出现有意思的代码~
查看>>
IIS 发布网站遇到的问题
查看>>
NuGet学习笔记(2)——使用图形化界面打包自己的类库
查看>>
xcode中没有autoSizing的设置
查看>>
字符编码
查看>>
企业应用:应用层查询接口设计
查看>>
浅谈Excel开发:十 Excel 开发中与线程相关的若干问题
查看>>
nfd指令的详细说明
查看>>
安装VisualSvn Server时遇到的问题
查看>>
不用Visual Studio,5分钟轻松实现一张报表
查看>>
人脸识别 开放书籍 下载地址
查看>>
Notepad++配置Python开发环境
查看>>
用户组概念 和 挂载 概念
查看>>
如何快速获取ADO连接字符串
查看>>
AspNetPager控件的最基本用法
查看>>
sessionKey
查看>>