fwrite如果文件不存在?

Fla*_*rap 4 php fopen fwrite fclose

如果它不存在,是否可以只用PHP编写文件?

$file = fopen("test.txt","w");
echo fwrite($file,"Some Code Here");
fclose($file);
Run Code Online (Sandbox Code Playgroud)

因此,如果文件存在,代码将不会编写代码,但如果文件不存在,它将创建一个新文件并编写代码

提前致谢!

Joa*_*son 6

您可以使用fopen()模式x而不是w,如果文件已存在,将使fopen失败.与使用相比,检查这样的优点file_exists是,如果在检查存在和实际打开文件之间创建文件,它将不会出现错误.缺点是,如果文件已经存在,它(有点奇怪)会生成E_WARNING.

换句话说(在@ ThiefMaster下面的评论的帮助下),像是;

$file = @fopen("test.txt","x");
if($file)
{
    echo fwrite($file,"Some Code Here"); 
    fclose($file); 
}
Run Code Online (Sandbox Code Playgroud)


flo*_*flo 5

在执行代码之前检查 file_exists($filename) 是否存在该文件。

if (!file_exists("test.txt")) {
    $file = fopen("test.txt","w");
    echo fwrite($file,"Some Code Here");
    fclose($file); 
}
Run Code Online (Sandbox Code Playgroud)