作者在搭建一个DEDECMS资讯站的时候遇到了一个问题,在图集上传图片时总是弹出FILEID:X(X为数字)的错误,然后上面的所谓图就变成了红色。
查看附件发现其实刚才的图片已经上传成功了。想着从网上搜一下现成的的解决方法,果然很多网站都有这个解决方法,心想这下可以解决问题了
大致都是说只有UTF-8编码的才会有问题。
试了第一个发现不能用,按照那个方法处理完还是会出现那个问题。再打开下面的哪些链接,发现居然都是转载的同一个文章,作者瞬间凌乱了。这种不能解决问题的方法为何大家争相转载呢?作者继续找,终于找到了。
具体方法如下:
在/dede/swfupload.php的
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(); 函数的作用很大啊!