网上看到很多朋友遇到使用织梦程序一段时间后,发现上传图集时候老是失败,提示
FILEID:X错误,缩略图显示为红色Error下面截图错误:
这问题今天也让我头疼了半天,好好的怎么就出现这问题了,我最近好像没修改过啥文件了,最后找资料整理出了解决办法,分享给遇到该问题的朋友:分两步:
第一步:查看一下你的include/common.inc.php 的文件格式UTF-8编码的朋友,注意将格式调整为UTF-8 无BOM格式,GBK编码的朋友,注意将格式调整为ANSI(使用NotePad++,菜单栏有一格式菜单,打开即可调整文件格式,当然也可以选择DW,Editeplus 云云)
第二步:给大家提供一个缩略图修复文件,保存为a.php,放在网站根目录访问下就可以了。
代码如下:
-
<?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);
-
function checkdir($basedir){
-
if ($dh = opendir($basedir)) {
-
while (($file = readdir($dh)) !== false) {
-
if ($file != '.' && $file != '..'){
-
if (!is_dir($basedir."/".$file)) {
-
echo "filename: $basedir/$file ";
-
echo checkBOM("$basedir/$file")." <br>";
-
}else{
-
$dirname = $basedir."/".$file;
-
checkdir($dirname);
-
}
-
}
-
}
-
closedir($dh);
-
}
-
}
-
function checkBOM ($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($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
-
if ($auto == 1) {
-
$rest = substr($contents, 3);
-
rewrite ($filename, $rest);
-
return ("<font color=red>BOM found, automatically removed.</font>");
-
} 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);
-
}
-
?>
将代码另存为.php,放在网站根目录下运行该文件就可以了。
运行完毕后刷新后台,上传图片,就成功了!
运行后记得更新下缓存:
