找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1232|回复: 0

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

[复制链接]
发表于 2018-3-9 08:05:56 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
我们有时在图集栏目上传图片时出现FILEID:X错误,但是在附件管理里面能够看到已经上传成功的图片文件。
如下图: 14129491J4F-12962.webp
本地安装了一下新版的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的文件自己修改吧。
  1. <?php
  2. //remove the utf-8 boms
  3. //by magicbug at gmail dot com
  4. if (isset($_GET['dir'])){ //config the basedir
  5. $basedir=$_GET['dir'];
  6. }else{
  7. $basedir = '.';
  8. }
  9. $auto = 1;
  10. checkdir($basedir);
  11. echo ("<br><br><font color=green>completed!</font><br>");
  12. function checkdir($basedir)
  13. {
  14. if ($dh = opendir($basedir))
  15. {
  16.   while (($file = readdir($dh)) !== false)
  17.   {
  18.    if ($file != '.' && $file != '..')
  19.    {
  20.     if (!is_dir($basedir."/".$file))
  21.     {
  22.      //echo "filename: $basedir/$file ";
  23.      checkBOM("$basedir/$file");
  24.     }
  25.     else
  26.     {
  27.      $dirname = $basedir."/".$file;
  28.      checkdir($dirname);
  29.     }
  30.    }
  31.   }
  32.   closedir($dh);
  33. }

  34. }
  35. function checkBOM ($filename) {
  36. global $auto;
  37. $contents = file_get_contents($filename,NULL,NULL,0,10);
  38. $charset[1] = substr($contents, 0, 1);
  39. $charset[2] = substr($contents, 1, 1);
  40. $charset[3] = substr($contents, 2, 1);
  41. if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
  42.   if ($auto == 1) {
  43.    //$rest = substr($contents, 3);
  44.    //rewrite ($filename, $rest);
  45.    echo ($filename."--------"."<font color=red>BOM found</font><br>");
  46.   } else {
  47.    //return ("<font color=red>BOM found.</font>");
  48.   }
  49. }
  50. //else return ("BOM Not Found.");
  51. }
  52. function rewrite ($filename, $data) {
  53. $filenum = fopen($filename, "w");
  54. flock($filenum, LOCK_EX);
  55. fwrite($filenum, $data);
  56. fclose($filenum);
  57. }
  58. ?>  
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-22 05:14 , Processed in 0.057919 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表