读书人

PHP读取图片读取到的字节比图片实际

发布时间: 2012-12-29 10:28:09 作者: rapoo

PHP读取图片,读取到的字节比图片实际字节多了,仔细研读了PHP手册自认为代码没问题
我的Code如下:

<?php

$filepath="c:\123.jpg";
$filesize=filesize($filepath);
$fs=fopen($filepath,"r");
$readlen=1024;//每次读取多少字节
$rlen=0;//共读取多少字节
while(!feof($fs)){
$data=fread($fs,$readlen);
$rlen+=$readlen;
}
fclose($fs);
echo '文件大小'.$filesize.'<br/>';
echo '读取大小'.$rlen.'<br/>';
?>

PHP朋友们给看看,我电脑系统windows 7的,这应该与系统无关系.
[解决办法]
这恰恰与系统有关!
window 的文件打开方式有文本方式和二进制方式的区别
文本方式下,会对每个 \n (不是 \r\n 组合)附加一个 \r,形成 \r\n
所以字节数就多出来了

你需要用二进制防止打开图片
$fs=fopen($filepath,"rb");

或者直接用 file_get_contents

读书人网 >PHP

热点推荐