大家都知道php是解釋執行語言,**是順序執行。如果中間有個地方卡住,那麼程式就會一直卡在這裡,不會往下執行,直到超時。看下面一段**:
$content
=
file_get_contents
(
);
echo
$content
;
由於使用file_get_contents,並且是從乙個url裡獲取資料,相當於http請求www.baidu.com,得到返回的html內容,如果這個請求一直不返回內容或者很慢,結果就會拖慢整個程式。
對於別人的,我們總是一無所知,所以應當對這樣的程式做一些處理,使其能夠順利執行完成。
1、增加遠端請求超時處理
如果要獲取遠端資料,並且這個資料並不是頁面的必須資料。那麼我們可以使用超時處理,如果請求超時就跳過。在php裡可以使用fsockopen很好的處理這個問題。乙個簡單的示例:
2、使用ajax進行處理
不在php端處理,而是交到客戶端,利用ajax來請求資料。這對使用者來說也更加友好。當然,如果需要請求的是其他站點的位址,由於ajax不能跨域,所以需要在本地建立乙個中轉的檔案。
PHP技巧 何避免頁面重新整理資料重複寫入資料庫
何避免頁面重新整理資料重複寫入資料庫 當表單的資料是提交給本頁面處理並寫入資料庫時,點提交後,重新整理頁面的話使資料重複寫入資料庫。網上搜尋一下,發現了不少的解決方案 一 把一頁面分開為兩個,資料提交給另乙個頁面處理,之後再跳到輸入頁面。優點 避免了重新整理的影響,並可連續提交資料。缺點 當使用者在...
PHP 簡單獲取頁面內容
無需使用 curl 和http client 庫,php 中原生的file 和file get contents 函式均可實現,只要檔名引數為url 即可。下面是來自php 幫助檔案的說明 來自於fopen 函式 如果filename 是 scheme 的格式,則被當成乙個url php 將搜尋協議...
PHP避免重新整理頁面重複提交
情景 從html提交資料到x.php 在x.php中 post資料寫庫並且顯示,當x.php重新整理時,入庫操作會被再次執行,用了if post 並且在程式結尾給 post賦空值,但是重新整理的時候post依然有值,求知道怎麼避免反覆提交。關鍵 1.資料從html過來的,不是php 2.要在x.ph...