0

各サブディレクトリ名を取得して変数に割り当てるフォルダーを実行する PHP を作成しようとしています。次に、その変数を使用して URL を開きます。

たとえば、D:Folder には 1-?? という名前のサブ フォルダーが多数含まれています。

PHP は最初に www.url.com/run_batch.php?q=1 を開いて 30 秒間スリープし、次に www.url.com/run_batch.php?q=2 など... メインの各サブディレクトリに対してディレクトリ。

私は現在、これを書き込もうとしている最中です。私はまだ多くのコードを持っていませんが、あなたの天才の 1 人がこのプロセスをスピードアップするのを手伝ってくれると思いました.

更新しました

わかりました、これが私がこれまでに持っているものです。エラーなしで実行されますが、スリープせずに一度にすべてを実行しているように見えますか? わかりません。ページは忙しいままです。

<?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コードでスリープ状態にすると、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 に答える
0

疑似コードから始めることをお勧めします。ステップのコメントを作成します。そこから、特定のタスクのヘルプについて PHP.net を参照してください。実行可能だがバグがある場合は、コードを貼り付けます。

擬似コード:

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