首页 > 代码库 > PHP curl 模拟POST 上传文件
PHP curl 模拟POST 上传文件
<?php /** * Email net.webjoy@gmail.com * author jackluo * 2014.11.21
* */ //* function curl_post($url, $data, $header = array()){ if(function_exists(‘curl_init‘)) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); if(is_array($header) && !empty($header)){ $set_head = array(); foreach ($header as $k=>$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://www.mamicode.com/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_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 = http://www.mamicode.com/array("@$path/232.jpg", ‘name‘=>‘h‘ ); */ //‘pic‘=>‘@/tmp/tmp.jpg‘, ‘filename‘=>‘tmp‘ //$data = http://www.mamicode.com/array(‘pic‘=>"@$filename", ‘filename‘=>‘tmp‘);/* $data = http://www.mamicode.com/array(>*/ //$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 = http://www.mamicode.com/upload_curl_pic($file);>*/ } ?><form action="http://localhost/upload.php" enctype="multipart/form-data" method="post"> <p>UpLoad: <input type="text" name="fname" /></p> <p>UpLoad: <input type="file" name="fname" /></p> <input type="submit" value="http://www.mamicode.com/Submit" /></form>
PHP curl 模拟POST 上传文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。