我有一個文件(usernames.txt),它包含我網站成員的每個用戶名,當他們提交用戶名時,它將被保存在「usernames.txt」中,問題在於,每天有很多用戶在那裏提交用戶名,我想要一個php代碼或者會自動刪除第一個(頂部)用戶名的東西(即使每分鐘提交超過20個用戶名,我需要的腳本將使「usernames.txt」文件更小,這將使我的服務器更快一點。:) 如果有人知道或者知道我正在談論的腳本,那將會非常棒。 :) 感謝每30秒刪除.txt文件中的第一個內容
回答
我也真的,真的鼓勵你看看http://php.net/manual/en/refs.database.php爲@elclanrs建議。 真的鼓勵你。
如果沒有這個建議,還有很遠的第二位建議,我甚至建議您嘗試使用serialize
和unserialize
,這樣您就可以更快地讀入和導出數據。然後,您可以使用unserialize
以陣列/對象的形式讀取數據,對其進行處理,然後使用serialize
將其放回到文件中。
如果進一步失敗,則必須將該文件讀入內存(file_get_contents
),循環遍歷這些行並刪除第一行,然後將整個文件寫回去。或者,一次讀取一行(fopen
),跳過第一行,將文件的其餘部分寫回臨時文件(fputs
),然後交換文件(rename
)。
最後,假設你在* nix系統上,你可以使用類似:
exec("sed '1d' {$my_file_name}", $result);
file_put_contents($my_file_name, $result);
這一切都這樣說,你真的應該看看使用DB。如果你不想要一個獨立的數據庫,你可以使用SQLite,這將write the database to a local file:
$數據庫句柄= sqlite_open( 'DB/test.db的',0666,$錯誤);
我的生活中曾經使用過一次數據庫,所以我很難將我的網站腳本從php切換到數據庫腳本,換句話說:我吮吸數據庫代碼:/ – user3184573
沒時間像現在學習。 :-)但是還有其他一些建議,這可能會有所幫助。 – Drew
- 1. 如何在30秒後刪除文件?
- 2. 從txt文件的每一行刪除第一個和最後一個字符
- 3. 如何清除/刪除matlab中的.txt文件的內容
- 4. 刪除txt文件中每一個單詞的第二次出現(Python)l
- 5. 刪除txt文件中每一個單詞的第二次出現(Python)
- 6. 如何從txt文件中刪除第一個「:」字的單詞?
- 7. 刪除一組特定的從txt文件的內容與PHP
- 8. 刪除第一個/包括第一個/每行後的所有內容
- 9. 刪除每個段落中除第一個單詞外的所有內容
- 10. 如何刪除mainBundle中的.txt文件的內容
- 11. 從Wav文件中刪除第一個.5秒
- 12. Python:從另一個txt文件中刪除一個txt文件的元素
- 13. 給變量的值每30秒一個
- 14. 刪除每個文件的第一行後合併CSV文件
- 15. UILocalNotification每30秒
- 16. C#:刪除Txt文件中的一行
- 17. 批量刪除在一個txt文件
- 18. 更新一個txt文件內容
- 19. 如何刪除文件中每行的第一個逗號
- 20. 如何每30秒自動加載一個xml文件?
- 21. Ruby腳本每30秒ping一個URL
- 22. txt文件刪除
- 23. shell腳本:從txt文件中刪除第一列
- 24. 從txt文件中刪除一行java
- 25. 在第一個|後刪除每行中的所有內容occurence在記事本++
- 26. 刪除第一個空白後的每個字符串的內容
- 27. 每15秒閱讀一次文本文件的內容
- 28. 從文本文件的第一個空白行開始刪除所有內容
- 29. 將數據幀的內容寫入.txt文件,每行一個文件?
- 30. 刪除WordPress的帖子內容中的第一個圖庫
**請**在此檢查:http://www.php.net/manual/en/refs.database.php – elclanrs
爲什麼它會記錄嘗試然後刪除它們?他們是否備份?如果是這樣,你能不能只是把日誌記錄到時間設置的文件名中,比如最近30秒鐘生成的'usernames-20140110-121500.txt'? – qooplmao
如果你想得到幫助正確解釋你想實現什麼 – iNDicator