PHP-递归-使用从子目录名创建的变量打开URL

PHP-递归-使用从子目录名创建的变量打开URL,php,url,recursion,directory,subdirectory,Php,Url,Recursion,Directory,Subdirectory,我试图编写一些PHP,它通过一个文件夹运行,抓取每个子目录名并将其分配给一个变量。然后,打开带有该变量的URL 例如,D:Folder包含许多名为1-??的子文件夹 PHP将首先打开www.url.com/run_batch.PHP?q=1并休眠30秒,然后打开www.url.com/run_batch.PHP?q=2,以此类推。。。对于主目录中的每个子目录 我目前正在尝试写这篇文章。我还没有太多的代码,但我想你们中的一个天才可以帮助我加快这个过程 已更新 好的,这是我到目前为止所做的,它运行时

我试图编写一些PHP,它通过一个文件夹运行,抓取每个子目录名并将其分配给一个变量。然后,打开带有该变量的URL

例如,D:Folder包含许多名为1-??的子文件夹

PHP将首先打开www.url.com/run_batch.PHP?q=1并休眠30秒,然后打开www.url.com/run_batch.PHP?q=2,以此类推。。。对于主目录中的每个子目录

我目前正在尝试写这篇文章。我还没有太多的代码,但我想你们中的一个天才可以帮助我加快这个过程

已更新

好的,这是我到目前为止所做的,它运行时没有任何错误,但它似乎一次运行了所有这些错误,而没有睡觉?不确定,页面一直很忙

<?php
if ($handle = opendir('D:\HTTP\pic\')) {
$blacklist = array('.', '..', 'bu');
while (false !== ($file = readdir($handle))) {
  if (!in_array($file, $blacklist)) {
    echo "<iframe width='800' height='600' src='http://www.url.com/run_batch.php?q=" . "$file" . "'></iframe>";
        sleep(100);
    }
}
closedir($handle);
}
?>

我建议您从伪代码开始;为步骤创建注释。从这里开始,查看PHP.net以获得特定任务的帮助。当你有一些可行但有问题的东西时,粘贴你的代码

伪代码:

// get directory list
// loop through directories
// ...
// redirect to next page

在PHP代码中睡眠时,HTML不会发送到浏览器,这就是它看起来很忙的原因

每次传递时都必须调用flush()

<?php
if ($handle = opendir('D:\HTTP\pic\')) {
$blacklist = array('.', '..', 'bu');
while (false !== ($file = readdir($handle))) {
  if (!in_array($file, $blacklist)) {
    echo "<iframe width='800' height='600' src='http://www.url.com/run_batch.php?q=" . "$file" . "'></iframe>";
        //Send content to browser
        flush();
        sleep(100);
    }
}
closedir($handle);
}
?>

感谢您的帮助,我现在可以看到它了,但是它为数组中的每个项目打开了一个新的iframe,这在阅读代码时很有意义。我该怎么做才能使每一个都使用相同的iframe…?所以你必须修改你的概念。PHP一次发送所有内容,但您希望PHP自动刷新页面。这是不可能的。我认为您的html需要通过javascript调用php脚本,并查询下一个目录。如果我仔细查看您的代码,您希望定期运行批处理,那么批处理是否必须显示在浏览器中?为什么在批次之间需要睡眠?如果你问自己适当的问题,你会找到适当的解决办法。