【摘要】 PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。下面是php如何删除文件最后一行,让我们一起来看看php如何删除文件最后一行的具体内容吧!
php如何删除文件最后一行
php删除文件最后一行的方法:首先利用fopen()函数打开一个文件;然后利用fgets()函数逐行读取文件,将读取内容放入数组中;最后利用array_pops()函数删除数组中的最后一个元素即可。
array_pop() 函数删除数组中的最后一个元素。返回数组的最后一个值。如果数组是空的,或者不是一个数组,将返回 NULL。
(推荐教程:php图文教程)
语法:
array_pop(array)
fgets() 函数从打开的文件中返回一行。
fgets() 函数会在到达指定长度( length - 1 )、碰到换行符、读到文件末尾(EOF)时(以先到者为准),停止返回一个新行。如果失败该函数返回 FALSE。
语法:
fgets(file,length)
(视频教程推荐: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如何删除文件最后一行的内容,对PHP感兴趣的小伙伴们可以关注考必过,获取更多PHP前沿资讯和最新技术。最新消息小编会第一时间发布,助力大家考试,加油!