0

我有一个 php 脚本,用于检查 5 个文件中的任何一个是否按顺序存在 file1、file2、file3、file4、file5

如果file1存在则检查file2 如果file2存在则检查file3 如果file3存在则检查file4 如果file4存在则检查file5

如果任何文件不存在,则创建该文件,如果所有文件都存在,则休眠几秒钟,直到其中一个文件被删除,然后在执行代码之前创建该文件

我的逻辑很清楚,但我无法将代码付诸实施

下面是我的代码

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 回答