2009-12-30 205 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