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


PHP - Recursive - Open URL Using Variable Created From Sub Directory Names

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

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

PHP将首先打开www.url.com/run_batch.PHP?q=1并睡眠30秒,然后访问www.url.com/run_batch.php?对于主目录中的每个子目录。

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

更新

好吧,这是我到目前为止所拥有的,它运行时没有任何错误,但它似乎在不睡觉的情况下同时运行所有错误?不确定,页面一直很忙。

<?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代码中休眠时,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);
}
?>

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

伪码:

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