如何在PHP中设置获取文件内容的时间限制?
有时,get_file_内容花费的时间太长,会挂起整个脚本。有没有办法在不修改脚本的最大执行时间的情况下,对get_file_内容设置超时限制 编辑:如何在PHP中设置获取文件内容的时间限制?,php,Php,有时,get_file_内容花费的时间太长,会挂起整个脚本。有没有办法在不修改脚本的最大执行时间的情况下,对get_file_内容设置超时限制 编辑: 它需要很长时间,因为该文件不存在。我收到“无法打开流:HTTP请求失败!”错误。但这需要永远的时间。在PHP>5.2.1中,似乎可以使用创建上下文 手册页面中的示例稍作修改: <?php $opts = array('http' => array( 'method' => 'GET',
它需要很长时间,因为该文件不存在。我收到“无法打开流:HTTP请求失败!”错误。但这需要永远的时间。在PHP>5.2.1中,似乎可以使用创建上下文 手册页面中的示例稍作修改:
<?php
$opts = array('http' =>
array(
'method' => 'GET',
'timeout' => 120
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://example.com/get.php', false, $context);
?>
在使用文件获取内容之前,您可以先使用ini\u set
并设置默认套接字超时值,然后在使用后恢复旧值-如果会影响代码的其他部分…+1:我喜欢人们建议使用流(这是几乎没有人知道的PHP的伟大之处之一;-()如果达到指定的时间限制,函数将返回FALSE
?因此我无法将超时错误与所有其他错误区分开来?此超时是否指定了整个请求的最长持续时间,从开始到结束?还是接收到的两个连续字节之间允许通过的最长时间?@Thomas,我不知道;我对此几乎没有经验。(这可能值得一个单独的问题,或者一个使用某种节流机制的实验)