之前用dedecms做的一个项目,编码为utf8,在用swfupload上传图片时正常。后来因为各种原因,将utf8转为gbk,但 是在上传图片时总是报错,弹出框显示FILEID:X,百度谷歌找了一通也没有找到,调试了半天也没有成功。弄了一下午无语了,因为代码都正确,就是不出结果,后来把一个PHP高手叫过来一起解决。后来总结:
报错的图片位置:
朋友在看了一会,用的浏览器是Google Chrome浏览器,因为此浏览器可以进行调试,高度代码及图片如下:
echo "FILEID:".$_SESSION['fileid'];
的上边加一句ob_end_clean();
这回能上传了,但上传后图片依然输不出来,于是在chrome的指引下,还多出几个回车,于是这的上边加一句,在
header('Content-type: image/jpeg');
header('Content-Length: '.strlen($_SESSION['file_info'][$id]));
的上边加一句 ob_end_clean();
这回终于可以输出了!看来ob_end_clean(); 函数的作用很大啊!
学习一下:
ob_end_clean //清空(擦除)缓冲区并关闭输出缓冲
以后自己要习惯用调试工具来进行调试代码。