2009-12-30 206 views
0

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

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

是有可能创建如下?

$textmember = "$date.txt" 

谢谢!

回答

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 

在这的情况下,如果文件不存在,文件将被创建,如果它确实存在,那么您写入的数据将被添加到最后。

+0

对不起,我不能让你的第二个建议,它是我的代码,我认为它只是语法错误,但它不会创建一个新文件,它只是说“没有目录找到“ $ filename =”data/textmembers/date/$ Date.txt“; $ fp = fopen($ filename,'a'); fwrite($ fp,$ Name); fwrite($ fp,$ Number); fclose($ fp); – Ryan 2009-12-30 07:51:07

+0

听起来像您要写入的目录不存在。确保路径正确。如果您使用相对路径,它将与正在运行的脚本相对。 – zombat 2009-12-30 08:37:50

+0

确保使用正确的日期格式 - 如果在'mm/dd/yyyy'或'hh:mm:ss'的日期分别有'/'或':'这样的特殊字符,可能会产生问题。使用'yyyy-mm-dd-hh-mm-ss'或'yyyymmdd-hhmmss'或'yyyymmdd'等日期格式,然后附加'$ name'和'$ number'或其他任何内容。 PHP手册应该给你一个指定日期格式的简单方法。 – namespaceform 2009-12-30 08:42:17

0

要做到这一点,你可以创建一个especified日常格式的文件,并检查文件是否犯规已经存在,如果它不然后创建它。我会使用格式$ username- $ date,因此用户名ryudice的文件看起来像“ryudice-22-2-2009.txt”,那么您可以检查每次用户提交值时文件是否存在,如果它不存在然后创建它,检查文件是否已经存在,你可以使用file_exists函数。

1

这应该是那么容易,因为

file_put_contents($filename, $text, FILE_APPEND); 

其中$文件名应为$ name和$日期和$组合文本要写入的数据。如果您需要每个名称和日期的文件,则只需将$ data和$ name结合起来,例如

$filename = sprintf('%s-%s.txt', $date, $name); 

所以,用$日期为2009-12-30和$ name是戈登,你会得到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作进一步参考。

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那么该文件将被保存在/无功/网络/ html/data/textmembers/date/$ Date.txt。您需要确保目录(/ path/to/date)对PHP运行的用户具有写入权限。

+0

谢谢你们,这是日期格式,我不得不将其更改为12-30-2009而不是12/30/2009 – Ryan 2009-12-30 22:37:34