我有一个file.txt
有500行,我需要使用按钮配置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];
答案 0 :(得分:0)
这是一个非常粗略但有效的实施方案:
<?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)));
由于显而易见的原因,这不会扩展。首先,它会在每次迭代时将整个文件读入内存,这显然是较大文件的问题。然后它总是重新创建整个文件,但是没有真正简单的方法来做到这一点。操作系统根本不提供执行此类任务的有效方法。这导致第三:你应该使用数据库而不是文件......