我有一个脚本,每次调用它时,都会获取文件的第一行。已知每一行的长度完全相同(32 个字母数字字符)并以“\r\n”结尾。 获取第一行后,脚本将其删除。
这是通过这种方式完成的:
$contents = file_get_contents($file));
$first_line = substr($contents, 0, 32);
file_put_contents($file, substr($contents, 32 + 2)); //+2 because we remove also the \r\n
显然它有效,但我想知道是否有更聪明(或更有效)的方法来做到这一点?
在我的简单解决方案中,我基本上读取并重写整个文件,只是为了获取和删除第一行。
最佳答案
我昨天想到了这个想法:
function read_and_delete_first_line($filename) {
$file = file($filename);
$output = $file[0];
unset($file[0]);
file_put_contents($filename, $file);
return $output;
}
关于php - 这是获取和删除文件第一行的最有效方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2404707/