curl_init() 初始化;
curl_setopt($curl,CURLOPT_URL,$url);//请求地址
curl_setopt($curl,CURLOPT_HEADER,FALSE);//控制是否返回http请求头信息
curl_setopt($curl,CURLOPT_RETURNTRANSFER,TRUE);//返回的内容变量储存否则直接输出到页面
curl_setopt($curl,CURLOPT_POST,TRUE);//POST方式传输数据
curl_setopt($curl,CURLOPT_POSTFIELDS,$info);//传输的具体数据
$data = curl_exec($curl);//执行curl请求
if ($data) {
curl_close($curl);
return $data;
} else {
$error = curl_error($curl);
curl_close($curl);
return $error;
}
CURLOPT_CONNECTTIMEOUT
用来告诉PHP脚本在成功连接服务器前等待多久(连接成功之后就会开始缓冲输出),这个参数是为了应对目标服务器的过载,下线,或者崩溃等可能状况;
CURLOPT_TIMEOUT
用来告诉成功PHP脚本,从服务器接收缓冲完成前需要等待多长时间。如果目标是个巨大的文件,生成内容速度过慢或者链路速度过慢,这个参数就会很有用。
使用cURL下载MP3文件是一个对开发人员来说不错的例子。
CURLOPT_CONNECTTIMEOUT可以设置为10秒,标识如果服务器10秒内没有响应,脚本就会断开连接;
CURLOPT_TIMEOUT可以设置为100,如果MP3文件100秒内没有下载完成,脚本将会断开连接。