使用PHP从文件末尾删除行,可以通过以下步骤实现:
fopen()
函数打开文件,将文件指针指向文件末尾。fseek()
函数将文件指针定位到行首。fgets()
函数读取行。strlen()
函数判断行是否为空行。ftruncate()
函数删除行。以下是示例代码:
<?php
// 打开文件
$file = "example.txt";
$handle = fopen($file, "r+");
// 定位到文件末尾
fseek($handle, -1, SEEK_END);
$char = fgetc($handle);
// 判断文件末尾是否为空行
while ($char === "\n" || $char === "\r") {
fseek($handle, -2, SEEK_END);
$char = fgetc($handle);
}
// 读取行
$line = "";
while ($char !== false && $char !== "\n" && $char !== "\r") {
$line .= $char;
fseek($handle, -2, SEEK_CUR);
$char = fgetc($handle);
}
// 删除行
fseek($handle, -1, SEEK_CUR);
ftruncate($handle, ftell($handle));
// 关闭文件
fclose($handle);
?>
注意:此代码仅适用于删除文件末尾的一行,如果需要删除多行,需要在循环中使用 fgets()
函数读取行并判断是否为空行。
领取专属 10元无门槛券
手把手带您无忧上云