Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
get.php config读取并删除文件中的行。txt_Php_Get - Fatal编程技术网

get.php config读取并删除文件中的行。txt

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 之

我有一个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
将如下所示:

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”