欢迎来到天天文库
浏览记录
ID:34722616
大小:71.18 KB
页数:5页
时间:2019-03-10
《dede图片集上传图片时出错显示(fileid)的解决办法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、DEDE图片集上传图片时出错显示(FILEID)的解决办法经过测试,在我的VPS上是可行的,坛子里没有搜索到,所以特别在这里分享下,如果遇到过这问题的,就可以照此方法尝试了。某日,某使用DeDeCMSv5.5的网站在后台上传图片时出现如下错误:作为web生手的我很是迷茫。印象里之前并没有做什么改动,于是百思不得其解。Google、百度、DeDe官网搜索了一大圈,发现有这个问题的人不少,但是没有一个给出解决的办法。只好自己试着分析分析……找到提示出错的相关js文件:DEDECMS教程-ASQQ8.NET/dede/handlers.js发现有这么一段:functionuploadSucce
2、ss(file,serverData){try{ varprogress=newFileProgress(file, this.customSettings.upload_target); if(serverData.substring(0,7)==="FILEID:"){ addImage("swfupload.php?dopost=thumbnail&id="+serverData.substring(7),serverData.substring(7)); progress.setStatus("获取缩略图..."); progress.toggleCancel(false)
3、; }else{ addImage("img/error.gif",0); progress.setStatus("有错误!"); progress.toggleCancel(false); alert(serverData); }}catch(ex){ this.debug(ex);}}其中:if(serverData.substring(0,7)==="FILEID:")这句的判断为假导致如上图的问题。查看serverData的值没有发现什么异常,但是判断始终为假问题就出在serverData.substring(0,7)始终都不等于"FILEID:"调整了截取边界也一样有错
4、,于是乎,请来了HttpAnalyzer一看,哦,原来如此:虽然这么看着没什么问题DEDE教程-ASQQ8.NET但实际问题在这:前面多了三个字节:efbbbf大致一找原来这是utf-8的bom问题,是修改文件时在文件头自动加入的这三个字节导致的连锁反应但是那么多文件要找出是哪个文件的问题倒是有点头大……网络资源网-ASQQ8.NET后来找到一篇文章《转两篇移除PHP中BOM的方法》按照其中给出的清除BOM的代码解决了这个问题代码如下:
5、onfigthebasedir$basedir=$_GET['dir'];}else{$basedir='.';}$auto=1;checkdir($basedir);functioncheckdir($basedir){if($dh=opendir($basedir)){ while(($file=readdir($dh))!==false){ if($file!='.'&&$file!='..'){ if(!is_dir($basedir."/".$file)){ echo"filename:$basedir/$file"; echocheckBOM("$based
6、ir/$file").""; }else{ $dirname=$basedir."/".$file; checkdir($dirname); } } }closedir($dh);}}functioncheckBOM($filename){global$auto;$contents=file_get_contents($filename);$charset[1]=substr($contents,0,1);$charset[2]=substr($contents,1,1);$charset[3]=substr($contents,2,1);if(ord($c
7、harset[1])==239&&ord($charset[2])==187&&ord($charset[3])==191){ if($auto==1){ $rest=substr($contents,3); rewrite($filename,$rest); return("BOMfound,automaticallyremoved."); }else{ return("
此文档下载收益归作者所有