php curl
フォームを使用してファイルをアップロードしようとしていますasp.net
。ファイル名の前に を使用して配列を送信して@
いますが、ファイルが asp.net サーバーに認識されません。curl コードを記述する特定の方法はありますか?
コードは次のとおりです。
$postArr = array(
'uplTheFile' => '@'. dirname(__FILE__) .'/abc.xls';
'imgUploadFile_x' => '78',
'imgUploadFile_y' => '19',
);
$param = array(
'url'=> SITEURL,
'method'=>"FILE",
'parameter'=>$postArr
);
echo $result = curlOperation($param);
function curlOperation($param) {
$headers=array();
$headerVar=0;
$headers[0]='Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$headerVar++;
$headers[$headerVar]='Accept-Language: en-us,en;q=0.5';
$headerVar++;
$headers[$headerVar]='Accept-Encoding: gzip, deflate';
$headerVar++;
$headers[$headerVar]='Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';
$headerVar++;
$curl_connection =curl_init($param['url']);
if($param['method']=="POST") {
$headers[$headerVar]='Content-Type: application/x-www-form-urlencoded; charset=utf-8';
} elseif($param['method']=="FILE") {
$headers[$headerVar]='Content-Type: multipart/form-data;';
}
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($curl_connection, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl_connection, CURLINFO_HEADER_OUT, true);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
if($param['method']=="POST" || $param['method']=="FILE" ) {
curl_setopt($curl_connection, CURLOPT_POST, 1);
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $param['parameter']);
}
$result = curl_exec($curl_connection);
curl_close($curl_connection);
return $result ;
}