21,886
社区成员
发帖
与我相关
我的任务
分享
/**
*
* @return
* @param $uri string -上传的网络地址
* @param $postdata array -发送的参数 例:$postdata['name']='yc';
* @param $file string -要上传的文件的物理路径
* @param $host string -上传地址对应的host,一般不需设置
*/
public static function do_upload($uri,$postdata,$file,$host=""){
$postdata['Filedata'] = '@'.$file;//要上传的文件物理路径
$ch = curl_init();// 启动一个CURL会话
curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE,false );
if($host!=""){
//$header = 'Content-type: application/x-www-form-urlencoded'."\r\n".'User-Agent : PHP Script'."\r\n".'Host: '.$host."\r\n";
$header = array("Host: {$host}");
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//构建http头部
}
curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt($ch, CURLOPT_POST, 1);// 发送一个常规的Post请求
curl_setopt($ch, CURLOPT_HEADER, 0);// 显示返回的Header区域内容
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//不直接输出,返回到变量,获取的信息以文件流的形式返回
//curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1:80");//设置代理服务器
$data = curl_exec ($ch).'';
}