2010-04-15 134 views
0

我會寫一個WordPress插件來解析所有的圖片來源,並檢查它是否斷開鏈接。 我的想法是:CURL vs fopen vs fsocketopen?

  1. 選擇所有從MySQL
  2. 導航圖像URL通過正則匹配&頁的圖像,並獲得響應頭(404,403錯誤等)
  3. 打印報告

因爲我不需要真正的下載二進制文件,所以在性能上,比較在CURL,fopen,fsocketopen 哪一個是最差的使用?

還有一個問題,哪種方法可以在多線程中執行?

回答

4

打開到遠程服務器的連接的開銷使該庫的性能成爲一個相當不實際的問題。換句話說,它不值得擔心功能的表現。

更好的選擇是使用wse任何函數都可以讓你創建HEAD請求(只返回HTTP頭)。雖然你可以用fsockopen(我不知道關於fopen)做到這一點,但是當cURL已經編寫了代碼來發送請求並解析響應時,這是很多工作。

有關如何使用cURL see this answer執行頭部請求的示例。

還有一個問題,哪種方法可以在多線程中執行?

PHP不具有線程

+0

雖然這是真的,PHP是不是線程正因爲如此,請務必在curl_multi *函數讀了(http://www.php.net/manual /en/function.curl-multi-init.php),因爲它可能並行地提取多個curl請求。爲了更深入地瞭解如何解決這個問題,我可以強烈推薦Stoyan Stefanov的寫作:(http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/) – 2012-05-07 14:19:20