解决PHP CURL中Expect:100-continue问题
解决PHP CURL中Expect:100-continue问题
今天做一个跨服务器传输的时候,起先准备用linux 的SCP来实现,后来发现apache用户组不能直接操作,然后考虑用Expect扩展,但是这个Expect扩展不是php捆绑的,需要自己编译安装。最后还是选择了CURL来操作。因为之前也写过几次。
代码写好了,开始测试,结果出现错误。查了下之后发现post最大数据为1024,如果大于就要加下面这句话不然可能会报错”Expect: 100-continue”。
1. 发送一个请求, 包含一个Expect:100-continue, 询问Server使用愿意接受数据
2. 接收到Server返回的100-continue应答以后, 才把数据POST给Server
/**
*CURL图片到远程服务器
**/
function SendPic($photoVip){
//post数据
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.yhzhan.com/savecurl.php");
curl_setopt($ch, CURLOPT_HEADER, 0);
//post最大数据为1024,如果大于就要加下面这句话不然会报错"Expect: 100-continue"
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $photoVip);
$res=curl_exec($ch);
curl_close($ch);
//exit;
}