国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php下載文件超時時間的設置方法

2024-05-04 23:50:38
字體:
來源:轉載
供稿:網友

使用curl

可以使用curl自己實現一個curl_file_get_contents函數

//CURLOPT_FOLLOWLOCATION TRUE 時將會根據服務器返回 HTTP 頭中的 "Location: " 重定向。(注意:這是遞歸的,"Location: " 發送幾次就重定向幾次,除非設置了 CURLOPT_MAXREDIRS,限制最大重定向次數function curl_file_get_contents($durl){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $durl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //將獲取的信息以字符串形式返回 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);  curl_setopt($ch, CURLOPT_MAXREDIRS, 5);  //指定最多的 HTTP 重定向次數 curl_setopt($ch,CURLOPT_TIMEOUT,2); //允許 cURL 函數執行的最長秒數 $r = curl_exec($ch); if(curl_errno($ch)){  //如果存在錯誤,輸出錯誤(超時是不會拋出異常的,需要用這個函數設置自己的處理方式)  echo 'Curl error: ' . curl_error($ch); } return $r;}

超時的錯誤輸出類似下邊這樣

Curl error: Operation timed out after 991 milliseconds with 3706978 out of 155372766 bytes receiveddone

其他可能方式

設置腳本的最大執行時間(無效)

void set_time_limit ( int $seconds )

如果超過了此設置,腳本返回一個致命的錯誤。默認值為30秒,或者是在php.ini的max_execution_time被定義的值,如果此值存在。如果設置為0(零),沒有時間方面的限制。
當此函數被調用時,set_time_limit()會從零開始重新啟動超時計數器。換句話說,如果超時默認是30秒,在腳本運行了了25秒時調用 set_time_limit(20),那么,腳本在超時之前可運行總時間為45秒
Warning
當php運行于安全模式時,此功能不能生效。除了關閉安全模式或改變php.ini中的時間限制,沒有別的辦法。
Note:
set_time_limit()函數和配置指令max_execution_time只影響腳本本身執行的時間。任何發生在諸如使用system()的系統調用,流操作,數據庫操作等的腳本執行的最大時間不包括其中,當該腳本已運行。在測量時間是實值的Windows中,情況就不是這樣。

因為file_get_contents是一個流操作,所以這個不能限制。

default_socket_timeout (無效)

PHP 中file_get_contents 超時時間

max_execution_time = 30
default_socket_timeout = 60
假設你使用file_get_contents花費45,而max_execution_time是30,它將超時嗎?
答案是NO,因為max_execution_time不影響操作系統調用或stream操作
default_socket_timeout是在socket響應之前計算的,只要得到響應,將會一直執行下去

使用HTTP context選項(無效)

HTTP context選項
估計是這里的超時時間不是指的表面上的整個函數的執行時間,還是無效

$opts = array(  'http'=>array(  'method'=>"GET",  'timeout'=>60,  ) );$context = stream_context_create($opts); $html =file_get_contents('http://www.example.com', false, $context);

以上就是本文的全部內容,希望對大家有所幫助,希望大家繼續關注VeVb武林網的最新內容。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 眉山市| 吴旗县| 黔江区| 棋牌| 遵化市| 集贤县| 鹿邑县| 固镇县| 定州市| 额敏县| 岳西县| 九寨沟县| 家居| 福海县| 永和县| 微博| 怀远县| 汉寿县| 利津县| 手机| 洪江市| 桑日县| 长寿区| 长垣县| 合作市| 东安县| 拉萨市| 怀来县| 英德市| 阿合奇县| 新竹市| 泉州市| 汤阴县| 拜城县| 沾益县| 闸北区| 彭阳县| 瑞安市| 兰州市| 延寿县| 长岛县|