2012-09-23 50 views
3

我用CURL在PHP中發佈的數據是這樣的:在PHP中使用捲曲後的文本數據開始以「@」

curl_setopt($ch, CURLOPT_POSTFIELDS, $args); 

其中的$ args - 參數數組。

問題是其中一個參數的值以「@」開頭。根據CURL文檔,這意味着我要發送一個文件。我的情況並非如此。 因此,我收到以下錯誤消息:創建formpost數據失敗。

有沒有辦法指定每當我想發送文件或「@」只是一個常規的字符,是一些價值的一部分?

感謝, 吉納

+0

我可以看到什麼會引發錯誤的例子嗎? –

+0

在缺少錯誤消息(請添加它)旁邊,您不能使用數組,但也可以使用字符串。請嘗試使用字符串變體,並告訴它是否也會產生相同的錯誤。 – hakre

+0

你能鏈接到談論那個文檔嗎? –

回答

1

與PHP 5.5開始,您可以設置CURLOPT_SAFE_UPLOAD選項,以防止啓動以「@」字符串的文件上傳行爲。例如。

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true); 

的默認值是PHP 5.5.0和真正的開始5.6.0

來源假:http://php.net/manual/en/function.curl-setopt.php