PHP动态文本文件创建


PHP Dynamic text file creation

我有这样的代码

$ext = ".txt";
$filename = $namef.$ext;
if(!file_exists($filename))
{
$file = fopen($filename,"w");
fwrite($file, $privatekey);
fclose($file);
chmod($file,0777);
}

$namef是输入到该程序中的任何名称。然而,当我运行这个时,我一直得到:

Unable to access (name_of_file).txt in something.php
Warning: fopen(name_of_file.txt) [function.fopen]: failed to open stream: No such file      or directory in something.php 
Warning: fwrite(): supplied argument is not a valid stream resource in ./something.php on line 79
Warning: fclose(): supplied argument is not a valid stream resource in ./something.php on line 80
Warning: chmod() [function.chmod]: Unable to access in ./something.php on line 81

我可以知道是否可以创建动态文本文件名吗?

谢谢

写这个简单的代码不需要if语句。它将以读写模式打开文件,如果文件不存在则自动创建;如果文件已存在则打开文件。

$ext = ".txt";
$filename = $namef.$ext;
$file = fopen($filename,"w+");
fwrite($file, $privatekey);
fclose($file);
chmod($file,0777);

回答你的问题。是的,可以用"动态"文件名创建文件。

创建文件可以使用file_put_contents();

此函数与依次调用fopen(), fwrite()和fclose()将数据写入文件相同。

如果filename不存在,则创建文件。否则,将覆盖现有文件,除非设置了FILE_APPEND标志。

如果你想在已经存在的文件中添加文本,请使用FILE_APPEND标志

FILE_APPEND如果文件filename已经存在,则将数据追加到文件中,而不是覆盖它。

例子:

 $ext = ".txt";
 $filename = $namef.$ext;
 file_put_contents($filename, $privatekey, FILE_APPEND);

如果你想创建一个不存在或被覆盖的文件,不要使用FILE_APPEND标志

例子:

 $ext = ".txt";
 $filename = $namef.$ext;
 file_put_contents($filename, $privatekey);

还要确保您在想要进行文件操作的目录中具有适当的权限。