DedeCMS图集上传图片报错,FILEID:X 错曲解决办法
摘要:DedeCMS图集上传图片报错,FILEID:X 错曲解决办法
DedeCMS图集上传图片报错,FILEID:X 错曲解决办法
有几个冤家反应,在利用系统的图集性能上传图片时会揭示FILEID:X谬误,缩略图显示为红色Error
本地装置了一下新版的V57GBK,测试了一番,没有发现该成绩,登录到一个冤家提供的存在该成绩的
站点后台,留意到为UTF-8版本,遂具体测试了一番,查看了治理目录下的swfupload.php做了几个断点
测试,在生成缩略图那里找到了成绩的缘由。
查看一下你的include/common.inc.php的文件格式UTF-8编码的冤家,留意将格式调整为UTF-8无
BOM格式,GBK编码的冤家,留意将格式调整为ANSI(利用NotePad++,菜单栏有一格式菜单,打开即
可调整文件格式,当然也可能抉择DW,Editeplus云云)
另外需求留意一点,假设言语编码利用的为UTF-8编码的冤家,肯定留意,不要用记事本打开修
改保存任何系统文件。
搜查论坛的时分,发现有些已经处理的冤家分享了处理办法,其中天若千颖给出了一个有BOM文
件检测的小工具:本文内容下半局部有相干阐明、附件。
办法总比成绩多,遇到成绩,咱们可能先从论坛动手,处理成绩,我们大家互相分享!
——by:织梦的鱼
如图,一些冤家遇到类似的情况,上传图片是凸显谬误揭示,然而在附件治理里面可以看到已经上传胜利的图片文件。
如今提供一个缩略图修复文件,保存为a.php,放在网站根目录访问下就可能了。
s:假设在访问a.php的时分报错如:
PHP Fatal error:Allowed memory size of134217728bytes exhausted
那就试用下面的修正版反省出有bom的文件本人修正吧。
<?php
//remove the utf-8boms
//by magicbug at gmail dot com
if(isset($_GET['dir'])){//config the basedir
$basedir=$_GET['dir'];
}else{
$basedir='.';
}
$auto=1;
checkdir($basedir);
echo("<br><br><font color=green>completed!</font><br>");
function checkdir($basedir)
{
if($dh=opendir($basedir))
{
while(($file=readdir($dh))!==false)
{
if($file!='.'&&$file!='..')
{
if(!is_dir($basedir."/".$file))
{
//echo"filename:$basedir/$file";
checkBOM("$basedir/$file");
}
else
{
$dirname=$basedir."/".$file;
checkdir($dirname);
}
}
}
closedir($dh);
}
}
function checkBOM($filename){
global$auto;
$contents=file_get_contents($filename,NULL,NULL,0,10);
$charset[1]=substr($contents,0,1);
$charset[2]=substr($contents,1,1);
$charset[3]=substr($contents,2,1);
if(ord($charset[1])==239&&ord($charset[2])==187&&ord($charset[3])==191){
if($auto==1){
//$rest=substr($contents,3);
//rewrite($filename,$rest);
echo($filename."--------"."<font color=red>BOM found</font><br>");
}else{
//return("<font color=red>BOM found.</font>");
}
}
//else return("BOM Not Found.");
}
function rewrite($filename,$data){
$filenum=fopen($filename,"w");
flock($filenum,LOCK_EX);
fwrite($filenum,$data);
fclose($filenum);
}
?>