POST
$filepatch = "./1.wav";
$size = filesize($filepatch);
$tmp_size = 1024*1024;
$num = ceil($size/$tmp_size)+1;
$url = "http://localhost/curl_post/get.php";
for($i=1;$i<$num;$i++){
$start = ($i-1)*$tmp_size;
$tmp_data = file_get_contents($filepatch,1,null,$start,$tmp_size);
$data = array();
$data['d'] = $tmp_data;
$data['i'] = $i;
$data['name'] = "2.wav";
http_post($url,$data);
}
/**
* POST 请求
* @param string $url
* @param array $param
* @param int $timeout 超时时间
* @param boolean $post_file 是否文件上传
* @return string content
*/
function http_post($url,$param,$timeout = 10,$post_file = false){
$oCurl = curl_init();
if(stripos($url,"https://")!==FALSE){
curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1
}
if (PHP_VERSION_ID >= 50500 && class_exists('\CURLFile')) {
$is_curlFile = true;
} else {
$is_curlFile = false;
if (defined('CURLOPT_SAFE_UPLOAD')) {
curl_setopt($oCurl, CURLOPT_SAFE_UPLOAD, false);
}
}
if (is_string($param)) {
$strPOST = $param;
}elseif($post_file) {
if($is_curlFile) {
foreach ($param as $key => $val) {
if (substr($val, 0, 1) == '@') {
$param[$key] = new CURLFile(realpath(substr($val,1)));
}
}
}
$strPOST = $param;
} else {
$aPOST = array();
foreach($param as $key=>$val){
$aPOST[] = $key."=".urlencode($val);
}
$strPOST = join("&", $aPOST);
}
curl_setopt($oCurl, CURLOPT_TIMEOUT,$timeout);
curl_setopt($oCurl, CURLOPT_URL, $url);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($oCurl, CURLOPT_POST,true);
curl_setopt($oCurl, CURLOPT_POSTFIELDS,$strPOST);
$sContent = curl_exec($oCurl);
$aStatus = curl_getinfo($oCurl);
curl_close($oCurl);
if(intval($aStatus["http_code"])==200){
return $sContent;
}else{
// print_r($aStatus);
// echo $sContent;
return false;
// return array('code' => intval($aStatus["http_code"]), 'data' => $sContent);
}
}
REQUEST:
if($_REQUEST['i'] == 1){
file_put_contents("./".$_REQUEST['name'],$_REQUEST['d']);
}else{
file_put_contents("./".$_REQUEST['name'],$_REQUEST['d'],FILE_APPEND);
}