温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php删除文件最后一行内容的方法

发布时间:2020-08-13 09:50:21 来源:亿速云 阅读:355 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关php删除文件最后一行内容的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

php删除文件最后一行内容的方法:首先利用fopen()函数打开一个文件;然后利用fgets()函数从打开的文件中读取一行内容,并将其保存到数组中;最后利用array_pop()函数删除数组中的最后一个元素即可。

php删除文件最后一行内容的方法

相关函数:

fopen() 函数打开一个文件或 URL。

如果 fopen() 失败,它将返回 FALSE 并附带错误信息。您可以通过在函数名前面添加一个 '@' 来隐藏错误输出。

fgets() 函数从打开的文件中返回一行。

fgets() 函数会在到达指定长度( length - 1 )、碰到换行符、读到文件末尾(EOF)时(以先到者为准),停止返回一个新行。如果失败该函数返回 FALSE。

array_pop() 函数删除数组中的最后一个元素。返回数组的最后一个值。如果数组是空的,或者不是一个数组,将返回 NULL。

(学习视频推荐:php视频教程)

代码实现:

/**
 * 删除文件最后一行
 * @param $file_path 文件路径
 */
public function delLastLine($file_path) {
	$file = $fp = fopen($file_path, 'r') or die("Unable to open file!");
	while(!feof($file)) {
		$fp = fgets($file);
		if($fp) {
			$content[] = $fp;
		}
	}
	array_pop($content);
	fclose($file);
	//重新写入文件
	$file = fopen($file_path, 'w+');
	fwrite($file, implode("", $content));
	fclose($file);
}

说明:

我的文件读取出来之后数组的最后一行保存的是false,所以if($fp)才往数组里写。如果文件中有空行,请把这个判断去掉,在对数组进行两次删末尾行的操作。如果太大到超出内存的文件,这个方法不适用。

感谢各位的阅读!关于php删除文件最后一行内容的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI