织梦cms图集上传图片缩略图出现FILEID:X错误的解决办法

我们有时在图集栏目上传图片时出现FILEID错误,但是在附件管理里面能够看到已经上传成功的图片文件。

我们有时在图集栏目上传图片时出现FILEID:X错误,但是在附件管理里面能够看到已经上传成功的图片文件。

如下图:

织梦cms图集上传图片缩略图出现FILEID:X错误的解决办法

本地安装了一下新版的V57GBK,测试了一番,没有发现该问题,登录到一个朋友提供的存在该问题的站点后台,注意到为UTF-8版本,遂详细测试了一番,查看了管理目录下的swfupload.php做了几个断点测试,在生成缩略图那里找到了问题的原因。

查看一下你的include/common.inc.php 的文件格式UTF-8编码的朋友,注意将格式调整为UTF-8 无BOM格式,GBK编码的朋友,注意将格式调整为ANSI(使用NotePad++,菜单栏有一格式菜单,打开即可调整文件格式,当然也可以选择DW,Editeplus 云云)

另外需要注意一点,如果语言编码使用的为UTF-8编码的朋友,一定注意,不要用记事本打开修改保存任何系统文件。

现在提供一个缩略图修复文件,保存为a.php,放在网站根目录访问下就可以了。

如果在访问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);
}
?>  

附件下载:

缩略图修复文件

转自:http://bbs.dedecms.com/309348.html

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

相关文档推荐

我们都知道DEDECMS生成的文件夹是按天生成的,只要传了图片就会自动建立个年月日的文件,centos系统下,都是随便排序的,很难找到对应文件夹,如果要按顺序排列,要怎么操作呢? 一、文件管理器: 修改 /dede/templets/file_manage_main.html $dh = dir($inp
在使用织梦发布远程图片时,发现有的图片地址长度很多,保存后会丢失一部分字段,如何解决呢?织梦模板网为您解答 方法1:用数据库管理工具登陆数据库,改数据库表dede_archives表里面的litpic字段,原默认是80,(这里改为200). 方法2:到DEDE后台的SQL运行
某些瀑布流的代码要求图片必须带有高度,而织梦默认的缩略图仅仅是储存的图片路径,想要输出图片的高度就必须用别的办法,目前我只想到用getimagesize这个函数了,这也是相对比较简单的实现方案了, 但是在实际应用的过程中貌似有个问题,我也搞不懂是什么原
今天跟版网小编在使用织梦图集编辑器的时候发现图集编辑器的功能要比文章的编辑器少很多,发布内容的时候很不好用,比如图片居中,编辑居中等功能,具体不知道官方为何将这个编辑器简化的,我们如何将编辑器改成文章的一样呢? 图集编辑器: 文章编辑器: 修
织梦dedecms设置了图片集内容模型的网站栏目文档可以上传图集图片,并提供了单页多图样式、幻灯片样式、多缩略图样式三种表现方式的调用,但是如果仅仅要调用所有的图集图片要怎么调用?dedecms提供了productimagelist标签,通过该标签可以在内容页获取图片
效果 不改动官方核心文件,在自定义方法文件里加入个方法来实现 打开 \include\extend.func.php 在最下面加入这个方法 function Getimgurls($aid,$num=4) { global $dsql; $imgurls = $result = ; $imgrow = $dsql-GetOne( Select imgurls From `dede_addonim