【问题标题】:Check continuously if a file exists with PHP使用 PHP 持续检查文件是否存在
【发布时间】:2018-10-22 14:24:00
【问题描述】:

我正在做一个项目,该项目要求我每 5 秒用 PHP 检查一次文件是否存在,如果文件存在,则重定向到该文件。

如果不存在,则脚本应改为每 5 秒检查一次。

我该怎么做呢?我知道 file_exists(),但我将如何让它持续检查,而不仅仅是一次?

【问题讨论】:

  • 编写一个无限while循环并在file_exists()内部循环之前调用sleep(5)。通过这种方式,您可以检查(每 5 秒后)文件是否存在。
  • 你还需要 javascript 和 ajax。
  • 我很好奇会发生什么让文件突然存在?但更重要的是,这个答案(根据@ChukwuemekaIhedoro 的答案)将导致它无限检查,除非找到文件。
  • @James 不仅如此,你怎么知道 整个 文件存在?想出这种滥用文件系统作为通信渠道的设计的人似乎从未想到过这一点。

标签: php file exists


【解决方案1】:

你可以试试这个

<?php
$x = 0;
$count = 5;

do {
    if(!file_exists($file)){
        $x++;
        echo 'file loading';
        sleep(5);//Delays the program execution for 5seconds before code continues. 
    }
    else {
        header('Location: '.$file);
        exit();
    }
}
while($x < $count); // this kind of regulates how long the loop should last to avoid maximum execution timeout error

if($x == $count){
    echo 'file does not exist';
}
?>

【讨论】:

  • 谢谢 - 我忘了补充一点,还有一个 HTML 页面连同 PHP 代码一起提供给访问者,这将通知他们他们的请求正在处理中。一旦文件可用,就应该进行重定向。另外,上面的函数不是会导致php最大执行时间过期吗?
猜你喜欢
  • 1970-01-01
  • 2023-01-02
  • 1970-01-01
  • 2013-06-03
  • 2016-01-27
  • 1970-01-01
  • 2023-04-04
  • 2011-05-14
  • 1970-01-01
相关资源
最近更新 更多