Heim >Backend-Entwicklung >PHP-Tutorial > php文件读写有关问题

php文件读写有关问题

WBOY
WBOYOriginal
2016-06-13 13:37:011218Durchsuche

php文件读写问题
T,T
源代码是这样的。。。。
@$fp = fopen($_FILES["file"]["tmp_name"],"r");
if($fp){
  while (!feof($fp)) {
$count++;
$output = fgets($fp, 1024);
$var = explode(",", $output);
。。。。。。
}
奇怪的是,第一行的信息总是缺少的,
文件内容是:71222237, 计算机, JAVA数据库编程, 清华大学出版社, 2003, 孙林, 39, 7
然后读出来,$var[0] = 7122223
这是为什么呀。。。。。。

------解决方案--------------------
完整的var 是什么情况?var_dump
------解决方案--------------------
@$fp = fopen($_FILES["file"]["tmp_name"],"r");
if($fp){
while (!feof($fp)) {
$count++;
$output = fgets($fp, 1024);
echo base64_encode($output);
exit;
$var = explode(",", $output);
。。。。。。
}

代码中加入红色的那两句,执行后贴出结果
------解决方案--------------------

探讨

引用:

@$fp = fopen($_FILES["file"]["tmp_name"],"r");
if($fp){
while (!feof($fp)) {
$count++;
$output = fgets($fp, 1024);
echo base64_encode($output);
exit;
$var = explode(",", $out……

------解决方案--------------------
探讨
额,那样有什么用,我的文件编码应该是正确的,因为第二行开始结果是对的额。。。

------解决方案--------------------
好吧,你看看是为什么
PHP code
echo $output = base64_decode("77u/NzgyMjExMjIsIOiuoeeul+acuiwgSkFWQeaVsOaNruW6k+e8lueoiywg5riF5Y2O5aSn5a2m5Ye654mI56S+LCAyMDAzLCDlrZnmnpcsIDM5LCA3DQo=");
$var = explode(",", $output);
print_r($var);
<br><font color="#e78608">------解决方案--------------------</font><br>那就要考虑 BOM 了<br>你的数据文件是 utf-8 的并且有 BOM 头<br>print_r(unpack('H*', $output));<br><br>Array<br>(<br>   [1] => efbbbf3738323231...<br>)<br><br>你在处理第一行时把 BOM 同去掉试试<br>$var = explode(",", substr($output, 3));<br><br>
<br><font color="#e78608">------解决方案--------------------</font><br>BOM 头不在所指示的字符集中,对于字符集而言属于非法字符,当然要影响正常的数据啦<br><br>比如用 iconv 在做编码转换时,遇到非法字符时不是就截断了吗?<br> <div class="clear">
                 
              
              
        
            </div>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn