PHP CURL 模拟form表单上传遇到的小坑
1:引用的时候
$parans ['img']=new \CURLFile($param);
传入的文件 在PHP版本5.5以上记得new CURLFile 不然会上传不成功
/** * http post请求--CURL模拟表单上传文件 * @param $url string 请求地址 * @param $params array 请求参数 * @param $header array 请求头 * @return mixed */ protected function _httpPostImg($url, $params = array() , $header = array()) { $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL, $url);//抓取指定网页 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//要求结果为字符串且输出到屏幕上 curl_setopt($ch, CURLOPT_TIMEOUT, 500); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); $header = array('Content-Type: multipart/form-data'); //请求头记得变化-不同的上传方式 curl_setopt($ch, CURLOPT_HTTPHEADER, $header); //当需要通过curl_getinfo来获取发出请求的header信息时,该选项需要设置为true curl_setopt($ch, CURLINFO_HEADER_OUT, true); $response = curl_exec($ch); //打印请求的header信息 //$request_header = curl_getinfo($ch, CURLINFO_HEADER_OUT); //print_r($ch);exit; curl_close($ch); return $response; }