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