PHP - рекурсивный - открытый URL с использованием переменной, созданной из имен подкаталогов

Я пытаюсь написать какой-нибудь PHP, который запускается через папку, захватывая каждое имя подкаталога и присваивая его переменной. Затем откройте URL с этой переменной.

Например, D: Папка содержит несколько подпапок с именем 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);
}
?>

2 ответа

Решение

Когда вы засыпаете в коде 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
Другие вопросы по тегам