0

我正在尝试编写一些通过文件夹运行的 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);
}
?>
4

2 回答 2

0

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

伪代码:

// get directory list
// loop through directories
// ...
// redirect to next page
于 2013-02-04T14:47:21.830 回答
0

当您在 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);
}
?>
于 2013-02-04T16:51:06.817 回答