`
wangshaofei
  • 浏览: 283767 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

PHP file_get_contents 函数超时的几种解决方法

    博客分类:
  • php
php 
阅读更多

 

在使用file_get_contents函数的时候,经常会出现超时的情况,在这里要通过查看一下错误提示,看看是哪种错误,比较常见的是读取超时,这种情况大家可以通过一些方法来尽量的避免或者解决。
这里就简单介绍两种: 
一、增加超时的时间限制 
这里需要注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。 
我一开始以为set_time_limit也能影响到file_get_contents,后来经测试,是无效的。真正的修改file_get_contents延时可以用resource $context的timeout参数:  
$opts = array( 
‘http'=>array( 
‘method'=>”GET”, 
‘timeout'=>60, 
) 
); 
$context = stream_context_create($opts); 
$html =file_get_contents('http://www.example.com', false, $context); 
fpassthru($fp); 
 

二、一次有延时的话那就多试几次 
有时候失败是因为网络等因素造成,没有解决办法,但是可以修改程序,失败时重试几次,仍然失败就放弃,因为file_get_contents()如果失败将返回 FALSE,所以可以下面这样编写代码:  

$cnt=0; 
while($cnt < 3 && ($str=@file_get_contents('http…'))===FALSE) $cnt++; 
 

 

分享到:
评论

相关推荐

    PHP file_get_contents设置超时处理方法

    在处理超时问题时,可以采取一种试探性的处理方法,即在file_get_contents函数失败返回FALSE时,不是立即放弃,而是尝试重新执行该函数,类似于JavaScript中settimeout的逻辑。但需要注意的是,超时重试应有一定的...

    PHP file_get_contents函数读取远程数据超时的解决方法

    总的来说,解决`file_get_contents` 读取远程数据超时的问题,主要通过设置超时时间和采用重试机制,以及在处理大文件时选择更合适的读取方法。理解这些技巧将有助于编写更健壮和高效的PHP代码。

    深入php函数file_get_contents超时处理的方法详解

    本文将深入讲解如何对 `file_get_contents()` 函数进行超时处理。 首先,我们要理解 `set_time_limit()` 函数的作用。它主要用于设置当前PHP脚本运行的最大时间(以秒为单位),但这个限制并不直接影响 `file_get_...

    PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析

    为了更有效地解决这个问题,开发人员应当修改使用`file_get_contents()`的方式,添加超时设置。通过创建一个流上下文(stream context),可以为HTTP请求设置特定的超时时间,如下所示: ```php $ctx = stream_...

    php 使用file_get_contents读取大文件的方法

    除了 file_get_contents,PHP 还提供了其他读取大文件的方法,例如使用 fread 函数。fread 函数是从打开的文件句柄中读取数据,可以逐块读取文件内容,这样对于处理大文件也是非常合适的。fread 的基本用法如下: `...

    file_get_contents获取不到网页内容的解决方法

    在PHP编程中,`file_get_contents` 是一个非常实用的内置函数,用于读取文件或者URL内容。然而,有时候我们可能会遇到无法成功获取网页内容的情况。本文将详细讲解当`file_get_contents`获取不到网页内容时,如何...

    解决file_get_contents无法请求https连接的方法

    在PHP编程中,`file_get_contents` 是一个非常实用的函数,可以用来读取本地或远程文件内容。然而,当尝试使用 `file_get_contents` 函数读取HTTPS(安全的HTTP)连接时,可能会遇到一些问题。这主要是由于PHP默认...

    比file_get_contents稳定的curl_get_contents分享

    总的来说,`curl_get_contents`函数提供了一种在`file_get_contents`可能不稳定时的替代方案,利用`curl`库的稳定性和灵活性,确保了请求的及时性和系统的资源效率。同时,开发者可以根据自己的项目需求,结合`curl`...

    深入file_get_contents函数抓取内容失败的原因分析

    本篇文章将深入探讨导致 `file_get_contents` 函数抓取内容失败的几个主要原因,并提供相应的解决策略。 首先,最常见的原因是服务器配置问题。PHP的`allow_url_fopen` 设置默认在某些服务器上可能是关闭的。`allow...

    解析PHP中的file_get_contents获取远程页面乱码的问题

    在PHP编程中,`file_get_contents` 是一个非常实用的函数,用于从本地或远程位置读取文件内容。然而,当尝试获取的远程页面已经经过gzip压缩时,可能会遇到返回内容显示为乱码的问题。这是因为`file_get_contents`...

    深入file_get_contents与curl函数的详解

    在PHP中,`file_get_contents` 和 `curl` 都是用来获取远程资源的函数,但它们的工作原理和适用场景有所不同。`file_get_contents` 函数简单易用,它通过流的方式直接读取指定URL的内容,如果`allow_url_fopen`选项...

    PHP中使用file_get_contents post数据代码例子

    在PHP开发中,file_get_contents()函数是一个非常实用的函数,它可以用来读取远程文件的数据,也可以用来执行HTTP请求。file_get_contents() 默认是通过GET方法获取数据,但通过适当配置,它也可以用来通过POST方法...

    php中使用Curl、socket、file_get_contents三种方法POST提交数据

    在PHP中,获取远程内容的方法主要有三种:Curl、socket和`file_get_contents`。每种方法都有其独特的特性和适用场景。以下是这三种方法的详细介绍: 1. **Curl (Client URL Library)** Curl 是一个强大的命令行...

    PHP中file_get_contents高級用法实例

    在此文档中,提到有两种方法可以解决file_get_contents的超时问题。 一种方法是通过增加超时的时间限制。文档中指出,set_time_limit()函数并不影响file_get_contents的执行超时,因为它仅仅是设置PHP脚本执行的总...

Global site tag (gtag.js) - Google Analytics