fwrite如果文件不存在?

时间:2012-03-24 08:38:04

标签: php fopen fwrite fclose

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

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

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

提前致谢!

3 个答案:

答案 0 :(得分: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); 
}

答案 1 :(得分:5)

在执行代码之前,如果文件存在,请检查file_exists($ filename)。

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

答案 2 :(得分:0)

创建了一个名为$ file的变量。此变量包含我们要创建的文件的名称。

使用PHP的is_file函数,我们检查文件是否已经存在。

如果is_file返回一个布尔值为FALSE的值,则我们的文件名不存在。

如果文件不存在,我们使用函数file_put_contents创建文件。

VLOOKUP