解决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;

}