我正在使用CURL和代理來獲取某些xml文件,偶爾只有部分XML文檔會通過,並且在嘗試加載/使用時失敗xml(simplexml_load_string)。PHP CURL - 如何判斷整個文件請求是否未完全下載
我覺得像..
if(curl_errno($ch))
{
$error = curl_error($ch);
// handle error
}
會趕上通過捲曲的errno這個八九不離十錯誤..
CURLE_PARTIAL_FILE(18)
文件傳輸更短或大於 預期。當 服務器首次報告預期的傳輸大小 ,然後傳遞與先前的 給定大小不匹配的數據 時,會發生這種情況。
但是,這不起作用,我認爲這可能是由於使用代理。還有什麼我可以檢查?我現在唯一的想法是爲XML文檔的最後一位做一個preg_match,但這看起來不太理想,因爲我得到多種類型的XML文檔,並且我必須爲每種類型編寫檢查。
由於這無關你的問題的說明,那麼您可以縮短這樣的代碼`如果($ error = curl_error($ ch)){...}`。 – 2010-12-05 08:14:05
我通常會做那種事情,但是那段代碼直接從php文檔中拷貝curl_errno,所以你必須在你的OCD上工作:] – Steffan 2010-12-05 08:18:04