0

file1、file2、file3、file4、file5の5つのファイルのいずれかが順番に存在するかどうかを確認するphpスクリプトがあります

file1 が存在する場合は file2 をチェックし、file2 が存在する場合は file3 をチェックし、file3 が存在する場合は file4 をチェックし、file4 が存在する場合は file4 をチェックし、次に file5 をチェックします。

いずれかのファイルが存在しない場合はそのファイルを作成し、すべてのファイルが存在する場合は、ファイルの1つが削除されるまで数秒間スリープし、コードを実行する前にそのファイルを作成します

ロジックは明確ですが、コードを実行に移すことができません

以下は私のコードです

while(file_exists("/var/tmp/test/" . $tempfile) && file_exists("/var/tmp/test/" . $tempfile2) && file_exists("/var/tmp/test/" . $tempfile3) && file_exists("/var/tmp/test/" . $tempfile4) && file_exists("/var/tmp/test/" . $tempfile5))
{
    sleep (3);
}

if file 1 exist
{
    if file 2
    {
        if file 3
        {
            if file 4
            {   
                create file 5
            }
            else
            {
                create file 4
            }
        }
        else
        {
            create file 1
        }
    }
    else
    {
        create file 1
    }
}
else
{
    create file 1
}

それを書くより良い方法はありますか?

4

1 に答える 1

0
$files = array('f1', 'f2', ...);
while (true) {
    foreach ($files as $file) {
        if (!file_exists($file)) {
            break 2;
        }
    }

    sleep(3);
}

touch($file);
于 2013-05-20T05:21:00.467 に答える