我在使用cURL構建的API中發佈文件時遇到問題。使用cURL使用PHP發佈文件
我可以張貼的小圖像(比如4KB),但是當我嘗試並附加一個大的圖像,我得到了以下錯誤:
捲曲錯誤:無法創建formpost數據
我使用,使代碼cURL調用如下:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
try {
switch($type) {
case "GET":
break;
case "POST":
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
break;
case "PUT":
$fh = fopen('php://memory', 'rw');
$data = http_build_query($vars, '', '&');
fwrite($fh, $data);
rewind($fh);
curl_setopt($ch, CURLOPT_INFILE, $fh);
curl_setopt($ch, CURLOPT_INFILESIZE, strlen($data));
curl_setopt($ch, CURLOPT_PUT, true);
break;
case "DELETE":
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
break;
default:
throw new InvalidArgumentException('Current verb is an invalid REST verb.');
}
} catch (InvalidArgumentException $e) {
curl_close($ch);
throw $e;
} catch (Exception $e) {
curl_close($ch);
throw $e;
}
$result = curl_exec($ch);
$info = curl_getinfo($ch);
if(curl_errno($ch)) {
echo 'Curl error: ' . curl_error($ch);
}
curl_close($ch);
是否通過cURL上傳圖像的文件大小上限。
您的幫助,將不勝感激。
PHP的內存限制,32位系統限制你2gig文件,打開文件限制等...有很多限制。沒有更多的細節,不能比任何更好的答案。 '$ vars'中有什麼? –
$ var是我發佈的變量,因此會看起來像這樣: $ vars = array(「name」=> $ name,「image」=>「@/tmp/image.jpg」); –
雖然我不想上傳2GB文件。這是一個148KB的文件! –