get.php config读取并删除文件中的行。txt
我有一个500行的get.php config读取并删除文件中的行。txt,php,get,Php,Get,我有一个500行的file.txt,我需要一个按钮来配置get.php。每次我检查它时,它都会读取第一行并将其从文件.txt中删除 例如: file.txt如下: G: dns port user1 pass1 G: dns port user2 pass2 G: dns port user3 pass3 G: dns port user2 pass2 G: dns port user3 pass3 第一次单击按钮后,我需要查看页面中的此行: G:dns端口user1 pass1 之
file.txt
,我需要一个按钮来配置get.php
。每次我检查它时,它都会读取第一行并将其从文件.txt
中删除
例如:
file.txt
如下:
G: dns port user1 pass1
G: dns port user2 pass2
G: dns port user3 pass3
G: dns port user2 pass2
G: dns port user3 pass3
第一次单击按钮后,我需要查看页面中的此行:
G:dns端口user1 pass1
之后,file.txt
将如下所示:
G: dns port user1 pass1
G: dns port user2 pass2
G: dns port user3 pass3
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);
这是一个极其粗糙但有效的实现:
<?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)));
这是一个极其粗糙但有效的实现:
<?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)));
到目前为止,您是如何尝试解决这项任务的?我有这个问题,但如何从file.txt中删除行,并重新生成第二行?这是我的问题哦,1。你必须打开文件进行写入,而不是读取。2.您需要逐行读取整个文件,以便能够再次输出所有文件,跳过第一行,然后将其输出到浏览器。3.您不需要关闭文件,也不需要在结尾处使用closing-php标记。你能给我一个使用它的例子吗?我是php的新手,我需要了解更多关于它的知识。我也有这个,但它是不按顺序生成一行的。那么,到目前为止,您尝试了什么来解决这个任务呢?我有这个问题,但如何从file.txt中删除行,并重新生成第二行?这是我的问题哦,1。你必须打开文件进行写入,而不是读取。2.您需要逐行读取整个文件,以便能够再次输出所有文件,跳过第一行,然后将其输出到浏览器。3.您不需要关闭文件,也不需要在结尾处使用closing-php标记。你能给我一个使用它的例子吗?我是php的新手,我需要了解更多关于它的知识。我也有这个,但它是不按顺序生成一行的。谢谢你,freind,这很有帮助,但我只有这个结果G:dns端口user1 pass1\n当我第二次单击时,我有相同的行,你可以在这里自己检查它,我不能使用数据库,因为我有程序如何需要它CCcam.cfg作为此格式。我可以想到两个原因:1。您可能只是有一个缓存问题。尝试在浏览器中使用“深度重新加载”。。。那你有第二条线路吗?如果是这样:您必须将缓存控制头添加到输出中。2.您的脚本可能没有对文件的写入权限。在这种情况下,您应该在http服务器错误日志文件中看到一个错误,并且您必须更改文件权限,以便http服务器进程能够实际写入文件和目录。为什么不能使用数据库?为输入文件编写一个简单的导入脚本。谢谢兄弟,我将chmod 777设置为该文件,现在一切正常,但仍然有一个问题是如何从输出中删除“\n”,这很有帮助,但我只有以下结果:G:dns端口用户1 pass1\n当我第二次单击同一行时,您可以自己在此处检查它。我无法使用数据库,因为我有程序如何需要tis CCcam.cfg作为此格式。我可以想到两个原因:1。您可能只是有一个缓存问题。尝试在浏览器中使用“深度重新加载”。。。那你有第二条线路吗?如果是这样:您必须将缓存控制头添加到输出中。2.您的脚本可能没有对文件的写入权限。在这种情况下,您应该在http服务器错误日志文件中看到一个错误,并且您必须更改文件权限,以便http服务器进程能够实际写入文件和目录。为什么不能使用数据库?为输入文件编写一个简单的导入脚本。谢谢兄弟,我将chmod 777设置为该文件,现在一切正常,但仍然存在一个问题,即如何从输出中删除“\n”