我想知道如何在使用fgets()
时读取它时跳过文本文件的第一行和最后一行。第一行可以用if(!$firstLine)
来解决,但我不知道如何忽略最后一行,或者如果我忽略第一行的解决方案是最佳选择。PHP,使用fgets跳过文本文件的第一行和最后一行
回答
fgets($file); //Ignore the first line
$line = fgets($file);
$next = fgets($file);
while ($next !== false) { //check the line after the one you will process next.
//This way, when $next is false, then you still have one line left you could process, the last line.
//Do Stuff
$line = $next;
$next = fgets($file);
}
不幸的是,文件()打开文件到“串行”流(不知道是否序列是正确的话),这意味着你必须检测他的结局
它确实是它的一个流,但是你不知道文件的结尾在哪里,而且你必须读整个文件。 '$ fp = fopen($ path,'r'); fseek($ fp,-16); $ end = fgets($ fp);'应该返回最后16个字节的文件(如果它至少有16个字节),而不读取整个内容。 – lupatus
第二件事情是,'file'函数不是以流的形式打开文件 - 它会为您读取其内容并返回为线阵列。 – lupatus
我的回答是与问题有关,我没有说,没有办法在文件末尾获取字符,但没有办法在没有读取文件的情况下跳过最后一行。如果您将查看最后16个字节,那么将不会跳过最后一个字节...,因此您必须读取完整文件,然后跳过最后一行。或者有其他方法? – jorj
$lines = file('http://www.example.com/');//or local file
unset($lines[0]);
unset($lines[count($lines)-1)]);
$new_file = implode('', $lines); //may want to use line break "\n" for the join
尝试之前阅读完整的文件这
$str= file_get_contents("file.txt");
$arr = preg_split ("\n",$str);
$n = count($arr);
$ n是行数
$str="";
for($i=0;$i<$n;$i++){
if($i>0 && $i<($n-1)){ $str.=$arr[$i]}
}
/**Str without line 1 and final line */
您可能想尝试分解文件内容。它会帮助你很多!之后你会标注它。
- 1. 如何通过跳过文件中的第一行和最后一行来读取文本文件
- 2. 跳过文件的最后一行perl
- 3. 显示文本文件的第一行和最后一行?
- 4. C++跳过csv文件的第一行
- 5. r导入csv跳过第一行和最后一行
- 6. 使用猪脚本删除文件的第一行和最后一行
- 7. 仅匹配第一行和最后一行的文本?
- 8. VBA - 查找重复文本的第一行和最后一行
- 9. 如何搜索文本文件的第一行和最后一行?
- 10. 读取文件中的第一行和最后一行
- 11. C++跳转/循环到文本文件的最后一行
- 12. 如何从文本文件中删除第一行和最后一行c#?
- 13. 从文本文件中读取第5行最后一行
- 14. fgets()PHP读取最后一行?
- 15. 将文本文件加载到MySQL上 - 跳过第一行
- 16. 从文件中删除第一行和最后一行
- 17. python错误地跳过列表中最后一个文件的最后一行
- 18. 使用CSV文件跳过循环中的第一行(字段)?
- 19. FileHelpers:如何跳过第一行和最后一行读取固定宽度的文本
- 20. fgets跳过空行
- 21. 当我使用BULK INSERT时,如何跳过第2行和最后一行
- 22. 解析文本文件一行行,跳过某些行
- 23. 如何读取最后一行在C#中的文本文件,第一行
- 24. 2与fgets一前一后,第一个被后第一时间跳过
- 25. 如何使用fgets()从文件中拉出一行文本?
- 26. 在Python中迭代时跳过CSV文件的最后一行
- 27. numpy.genfromtxt跳过/忽略长tsv文件中的最后一行
- 28. C fgets() - 只有文件的最后一行写入数组?
- 29. PHP显示CSV文件,跳过第一行
- 30. 阅读CSV文件到数组并跳过第一行PHP
file()将每行放入一个数组中,使您想要的操作变得简单。 – 2012-11-30 00:12:00