代码之家  ›  专栏  ›  技术社区  ›  Jagira

如何在php中设置获取文件内容的时间限制?

php
  •  12
  • Jagira  · 技术社区  · 14 年前

    有时get_file_内容花费的时间太长,这会挂起整个脚本。在不修改脚本的最长执行时间的情况下,是否可以设置get_file_内容的超时限制?

    编辑:

    因为文件不存在,所以需要很长时间。我得到“无法打开流:http请求失败!”错误。但这需要永远。

    2 回复  |  直到 14 年前
        1
  •  36
  •   Pekka    14 年前

    在php>5.2.1中,似乎可以使用 timeout option .

    手册页上稍作修改的示例:

    <?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);
    
    ?>
    
        2
  •  1
  •   Laimoncijus    14 年前

    你算使用 ini_set 并设置 "default_socket_timeout" 使用前 file_get_contents 然后在它之后恢复旧值-如果会影响代码的其他部分…