我在使用CURL和PHP上傳文件時遇到問題(在Windows上 - 如果它很重要)。在Windows上使用CURL,PHP和Apache上傳文件
基本上,我可以發佈到URL並顯示除文件字段外已發佈的內容。在這種情況下,我正在測試指向同一臺服務器的代碼,但是一旦我可以確認文件已上傳,我將發送到另一個域(如果它很重要)。
這裏是start.php
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_USERPWD, "user:pass");
curl_setopt($curl_handle,CURLOPT_URL, "http://domain/upload.php");
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle,CURLOPT_POST, 1);
$post = array("boo"=>"yaaah",
"xml"=>"@e:/path/to/file/new.xml");
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $post);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
然後,upload.php的
print_r($_POST);
捲曲呼叫,$緩衝器的輸出結果:
array(1) { ["boo"]=> string(5) "yaaah" }
編輯#1
相反,我做了一個的print_r($ _ FILES),並得到這個:
array(1) { ["xml"]=> array(5) { ["name"]=> string(7) "new.xml" ["type"]=> string(24) "application/octet-stream" ["tmp_name"]=> string(26) "C:\WINDOWS\TEMP\php892.tmp" ["error"]=> int(0) ["size"]=> int(3733) } }
這證明了我的文件被上傳。爲什麼它沒有被拾起我嘗試訪問的API是他們回答:)
發生了什麼或沒有發生什麼?什麼是'curl_error()'說的? –
@Pekka沒有錯誤。獲取HTTP代碼202.在查找我的文件時,我沒有使用適當的範圍。事情現在很好:) – TekiusFanatikus