2

我正在尝试使用表单上传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 ;
}
4

0 回答 0