我逐行读取一个 txt 文件的内容,
但是每个文件第一行总是不能正确识别,
请问怎么做呢?
<code> $rTxt = fopen( $sTxt ,"r" );
while( $str = fgets($rTxt) )
{
$arr = explode( ',' , $str );
Var_Dump( $arr[0] );
}
fclose( $rTxt );</code>txt 文件内容:
立即学习“PHP免费学习笔记(深入)”;
<code>1393592460,10680,10660,10650,10720,6040,3.227103E+08,0,0,108,4746,0,0 1393592520,10656,10697,10656,10701,4888,2.612444E+08,0,0,203,6858,0,0 1393592580,10697,10672,10672,10700,1294,6.911194E+07,0,0,281,7086,0,0 1393592640,10671,10667,10661,10675,1706,9.101747E+07,0,0,354,7590,0,0 1393592700,10669,10650,10648,10670,2340,1.246486E+08,0,0,448,8664,0,0 1393592760,10652,10640,10632,10656,1938,1.031578E+08,0,0,545,9282,0,0 1393592820,10641,10657,10641,10662,1746,9.297165E+07,0,0,631,8922,0,0 ......</code>
每次读取的时候,文件第一行的第一个数字长度总是不对,应该有个看不见的字符串..:
<code>string(13) "1393592460" string(10) "1393592520" string(10) "1393592580" string(10) "1393592640" </code>
我逐行读取一个 txt 文件的内容,
但是每个文件第一行总是不能正确识别,
请问怎么做呢?
<code> $rTxt = fopen( $sTxt ,"r" );
while( $str = fgets($rTxt) )
{
$arr = explode( ',' , $str );
Var_Dump( $arr[0] );
}
fclose( $rTxt );</code>txt 文件内容:
立即学习“PHP免费学习笔记(深入)”;
<code>1393592460,10680,10660,10650,10720,6040,3.227103E+08,0,0,108,4746,0,0 1393592520,10656,10697,10656,10701,4888,2.612444E+08,0,0,203,6858,0,0 1393592580,10697,10672,10672,10700,1294,6.911194E+07,0,0,281,7086,0,0 1393592640,10671,10667,10661,10675,1706,9.101747E+07,0,0,354,7590,0,0 1393592700,10669,10650,10648,10670,2340,1.246486E+08,0,0,448,8664,0,0 1393592760,10652,10640,10632,10656,1938,1.031578E+08,0,0,545,9282,0,0 1393592820,10641,10657,10641,10662,1746,9.297165E+07,0,0,631,8922,0,0 ......</code>
每次读取的时候,文件第一行的第一个数字长度总是不对,应该有个看不见的字符串..:
<code>string(13) "1393592460" string(10) "1393592520" string(10) "1393592580" string(10) "1393592640" </code>
很有可能是utf8 bom字符。
引用 SO How to remove multiple UTF-8 BOM sequences
<code>//Remove UTF8 Bom
function remove_utf8_bom($text)
{
$bom = pack('H*','EFBBBF');
$text = preg_replace("/^$bom/", '', $text);
return $text;
}</code>用这个函数处理一下你的第一行应该就好了。
想知道更多关于BOM的知识:
知乎 - 「带 BOM 的 UTF-8」和「无 BOM 的 UTF-8」有什么区别
维基百科
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号