關於php 5.5以上 CURL上傳的問題(微信"errcode":41005,"errmsg",)

微信給出的方法是@+文件的路徑來賦予數組來上傳php

$data = array( 
    'file' => '@/PATH/TO/FILE', 
    //....其餘字段 
); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

問題來了,這個@只能在5.5如下的版本用,而在5.5和5.5以上的版本這個就失效了,必須用CURLFile這個類上傳:數組

$data = array( 
    'file' => new CURLFile('/PATH/TO/FILE'), 
    //....其餘字段 
); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

可是發現有少許的服務器不支持直接new CURLFile這個類,因此出現這種狀況的時候咱們能夠curl_file_create來建立一個CURLFile的對象(此函數是該函數的別名: CURLFile::__construct() 服務器

$data = array( 
    'file' => curl_file_create('/PATH/TO/FILE'), 
    //....其餘字段 
); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

這樣就能夠了。微信

相關文章
相關標籤/搜索