DedeCMS图集上传图片弹出框显示FILEID:X的解决方法

之前用dedecms做的一个项目,编码为utf8,在用swfupload上传图片时正常。后来因为各种原因,将utf8转为gbk,但 是在上传图片时总是报错,弹出框显示FILEID:X,百度谷歌找了一通也没有找到,调试了半天也没有成功。弄了一下午无语了,因为代码都正确,就是不出结果,后来把一个PHP高手叫过来一起解决。后来总结:

报错的图片位置:

DedeCMS图集上传图片弹出框显示FILEID:X的解决方法_第1张图片

朋友在看了一会,用的浏览器是Google Chrome浏览器,因为此浏览器可以进行调试,高度代码及图片如下:

DedeCMS图集上传图片弹出框显示FILEID:X的解决方法_第2张图片
 
因为在输出的过程中,出现了三个回车,问题就在这里。于是乎在输出的过程中将其清除则可以,因为具体位置也不好找,所以就用了PHP自带的一个函数将其清除,具体如下:
在/dede/swfupload.php的
echo "FILEID:".$_SESSION['fileid'];

的上边加一句

PHP 代码复制内容到剪贴板 

ob_end_clean();


这回能上传了,但上传后图片依然输不出来,于是在chrome的指引下,还多出几个回车,于是这的上边加一句,在

PHP 代码 复制内容到剪贴板

header('Content-type: image/jpeg');  
header('Content-Length: '.strlen($_SESSION['file_info'][$id]));
的上边加一句

PHP 代码 复制内容到剪贴板
ob_end_clean();

这回终于可以输出了!看来ob_end_clean(); 函数的作用很大啊!

学习一下:

ob_end_clean //清空(擦除)缓冲区并关闭输出缓冲
以后自己要习惯用调试工具来进行调试代码。

 

你可能感兴趣的:(上传图片,dedecms,swfupload,FILEID:X)