[英]get.php config to read and delete line from a file.txt
我有一個500行的file.txt
,我需要一個帶有按鈕的get.php
配置get.php
。 當我每次檢查它時,它都會讀取第一行並將其從file.txt
刪除。
例如: file.txt
像這樣:
G: dns port user1 pass1
G: dns port user2 pass2
G: dns port user3 pass3
第一次單擊按鈕后,我需要在頁面中查看以下行:
G: dns port user1 pass1
之后, file.txt
將如下所示:
G: dns port user2 pass2
G: dns port user3 pass3
任何幫助,將不勝感激。 我是php新手,感謝您的幫助。
$file = fopen("/var/www/test/file.txt","r");
while(! feof($file)) {
echo fgets($file). "<br />";
}
fclose($file);
這是我的第二件事
$text = file_get_contents('/var/www/test/file.txt');
$textArray = explode("\n", $text);
$randArrayIndexNum = array_rand($textArray);
$randPhrase = $textArray[$randArrayIndexNum];
這是一個非常粗糙但可行的實現:
<?php
define ('INPUT_FILE', '/tmp/CCcam.cfg');
function unshiftLineFromFile($fileName) {
$fileContents = file($fileName, FILE_IGNORE_NEW_LINES);
$firstLine = array_shift($fileContents);
file_put_contents($fileName, implode(PHP_EOL, $fileContents));
return $firstLine;
}
echo sprintf("%s<br>\n", htmlentities(unshiftLineFromFile(INPUT_FILE)));
由於明顯的原因,這不會擴展。 首先,每次迭代它都會將整個文件讀入內存,這顯然是較大文件的問題。 然后,它總是重新創建整個文件,但是沒有真正簡單的方法來執行此操作。 操作系統根本不提供執行此類任務的有效方法。 這導致第三點:您應該使用數據庫而不是文件...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.