DedeCMS图集模型上传图片报错,FILEID:X 错误处理办法

今天在制作客户的dedecms婚纱模板的时候使用dedecms的图集功能上传图片时会提示FILEID:X错误,缩略图显示为红色Error本地安装了一下DEDECMS新版的V57GBK,测试了一番,没有发现该问题,登录到这个dedecms婚纱网站后台,注意到为UTF-8版本,遂详细测试了一番,

           今天在制作客户的dedecms婚纱模板的时候使用dedecms的图集功能上传图片时会提示FILEID:X错误,缩略图显示为红色Error本地安装了一下DEDECMS新版的V57GBK,测试了一番,没有发现该问题,登录到这个dedecms婚纱网站后台,注意到为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 of 134217728 bytes exhausted
那就试用下面的修改版检查出有bom的文件自己修改吧。

  <?php
//remove the utf-8 boms
//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);
}
?>   

附件下载:

缩略图修复工具



 

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

我们在利用dedecms建站的时候,有时候需要用到runphp 用php默认的时间格式函数判断,一个小例子,公司成立那一年与今年有多少年了 [field:genban runphp=yes]@me = (empty(@me) ? : 成立年限:span.(date(Y,time())-@me)./span 年);[/field: genban ] 如果我
让dedecms autoindex,itemindex 从0到1开始的办法 代码如下: [field:global name=autoindex runphp=yes]@me=@me+1;[/field:global]{dede:global name=itemindex runphp=yes}@me=@me+1;{/dede:global} autoindex itemindex 的使用心得区别 channelartlist 标
出现了Fatal error: Call to a member function GetInnerText() on a non-object in/htdocs/include/customfields.func.phpon line539错误 网上有很多解决方案都不对,现织梦二次开发网给出如下解决方案 将include/customfields.func.php 文件的539行 1 $fva
最近跟版网小编在查看后台搜索关键词时候,发现出现了大量的网址信息,看了一下,这些网址信息大多数为菠菜,非法网站(如下图所示),记得有一种方法专门可以通过刷别人网站的搜索词提升自己网站的排名的。那么我们要彻底清除这些信息呢?解决办法如下: 1
织梦cms为{dede:tag}增加[field:global.autoindex/]标签的方法,首先打开/include/taglib/tag.lib.php文件,找到下列代码,(注意备份好原有文件,以免发生错误) $dsql-SetQuery(SELECT * FROM `tagindex` $addsql ORDER BY $orderby LIMIT 0,$num); $dsql-Execut
相信有不少使用织梦程序的都会遇到需要修改tags字符多一些,这样子更好利于SEO排名优化,跟版网小编写一篇关关于如何修改tag解除限制12字节的简单dede教程 第一步:修改数据库中表dede_tagindex和dede_taglist的tag字段属性:varchar(12)修改为varchar(200)