请写一段 PHP 代码 ,确保多个进程同时写入同一个文件 成功

function write_file($filename, $content)
{
    $lock = $filename . '.lck';
    $write_length = 0;
    while(true) {
        if( file_exists($lock) ) {
            usleep(100);
        } else {
            touch($lock);
            $write_length = file_put_contents($filename, $content, FILE_APPEND);
            break;
        }
    }
    if( file_exists($lock) ) {
        unlink($lock);
    }
    return $write_length;
}

 

posted @ 2016-03-26 20:56  ╭(╯3╰)╮尝尝鲜  阅读(195)  评论(0编辑  收藏  举报