我有一个变量$Date
,每天都会自动更新。我想在每次有新条目时创建一个新的文本文件。所以基本上每天都有。
我希望每次用户提交值时都使用fopen
创建一个新的文本文件,但仅限于那一天。如果用户第二天创建了另一个帐户,它将是一个新的文本文件,其中包含名称的日期...
我只有三个变量,$date
,$Name
和$number
是否可以按如下方式创建?
$textmember = "$date.txt"
答案 0 :(得分:3)
是的,您每天都可以轻松创建新的文本文件。
$filename = "$date.txt";
if (! file_exists($filename)) {
$fp = fopen($filename,'w');
//write stuff to file
fclose($fp);
}
如果您要将数据附加到文件中,您甚至不需要执行file_exists()
检查,只需使用fopen()
的“a”选项:
$filename = "$date.txt";
$fp = fopen($filename,'a');
//write stuff and close
在这种情况下,如果文件不存在,将创建该文件,如果存在,则您编写的数据将被附加到最后。
答案 1 :(得分:1)
这应该像
一样简单file_put_contents($filename, $text, FILE_APPEND);
其中$ filename应该是$ name和$ date和$ text的组合,您要写入的数据。如果您需要每个名称和日期的文件,例如。
,您只需要合并$ data和$ name$filename = sprintf('%s-%s.txt', $date, $name);
所以,$ date是2009-12-30而$ name是Gordon,你得到2009-12-30-Gordon.txt
。如果该文件尚不存在,则会创建该文件,并将$ text写入其中。如果它已经存在,则会将$ text附加到其中,例如
$filename = sprintf('%s-%s.txt', date('Y-m-d'), 'Gordon'); // create filename
file_put_contents($filename, 'foo', FILE_APPEND); // create file and write to it
// later that day
file_put_contents($filename, 'bar', FILE_APPEND); // append to existing file
您必须确保您创建文件的目录是可写的。
检查PHP manual以获取进一步的参考。
答案 2 :(得分:0)
要做到这一点,你可以每天创建一个具有特定格式的文件,并检查文件是否已经存在,如果它没有,则创建它。我会使用格式$ username- $ date,所以用户名ryudice的文件看起来像“ryudice-22-2-2009.txt”,然后你可以检查每次用户提交一个值时文件是否存在,如果它不存在然后创建它,检查文件是否已经存在,你可以使用file_exists函数。
答案 3 :(得分:0)
如果您使用的是PHP 5 + ...
$filename = 'data/textmembers/date/' . $Date . '.txt';
file_put_contents($filename, $Name, FILE_APPEND);
file_put_contents($filename, $Number, FILE_APPEND);
如果您的脚本位于/var/www/html/my_script.php中,则该文件将保存在/var/www/html/data/textmembers/date/$Date.txt中。您需要确保目录(/ path / to / date)具有PHP运行用户的写权限。