将文本文件命名为变量

时间:2009-12-30 07:15:06

标签: php

我有一个变量$Date,每天都会自动更新。我想在每次有新条目时创建一个新的文本文件。所以基本上每天都有。 我希望每次用户提交值时都使用fopen创建一个新的文本文件,但仅限于那一天。如果用户第二天创建了另一个帐户,它将是一个新的文本文件,其中包含名称的日期...

我只有三个变量,$date$Name$number

是否可以按如下方式创建?

$textmember = "$date.txt"

4 个答案:

答案 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运行用户的写权限。