建站案例

织梦图集上传图片自动添加水印和有错误提示fileid1/2/3解决方法

发布于:2016-04-20 10:49作者:白起SEO 点击:
白起SEO分享织梦图集上传图片自动添加水印和有错误提示fileid1/2/3解决方法。

图集模型添加水印方法:
大家都可以可能没注意这个问题,织梦图集模型批量上传图片的时候,会发现,上传过的图片没有水印,这个很头痛的问题,不能加水印,会导致辛苦做的图片被盗版,如果加了水印,对自己的网站也是一种宣传,后台系统水印设置也没有这个选项,所以我们需要对其进行修改,具体方法如下:
 
第一步:
找到并打开后台管理目录下的dede/swfupload.php文件,在大约第95行的位置找到如下代码:
 
unlink($FiledataNew);
 
在其下面添加如下代码:
 
//添加图集水印 
if( $cfg_album_mark=="Y" ) 
WaterImg($cfg_basedir.$fileurl);
 
到这里就代码就修改完成了。
当然还有以下设置问题:

第二步:
记得一定要替换data\mark\mark.gif图片文件为你的水印图片文件,文件名不能变哦!当然,你也可以把mark.png文件替换,但是推荐使用GIF文件,因为貌似PNG文件无法在后台设置透明度! GIF图片底色不会去除的可以去百度下,推荐PS软件!

第三步:
到网站管理后台——系统——图片水印设置: 上传的图片是否使用图片水印功能:开启 采集的图片是否使用图片水印功能:开启 选择水印的文件类型:gif 添加水印的图片大小控制:400*400 。注意了,这个地方可是不希望缩略图上有水印的关键,我测试了下:如果选择默认值(120*80),原始宽度290以下的图片不会带水印,设置400*400,原始宽度300以下的不会带水印,有兴趣的可以详细测试下。附图:
织梦水印设置

第四步:
然后选择系统参数——附件设置——开启图片上传添加水印。附图:

织梦图集水印添加

以上操作如果设置完成,即可测试是否可以成功上传。

如果有提示有错误——js提示fileid1/2/3  ,白起SEO接着分享大神操作设置:
fileid1/2/3:是因为在生成缩略图那里出了问题。文件格式UTF-8编码的朋友,注意将格式调整为UTF-8 无BOM格式,GBK编码的朋友,注意将格式调整为ANSI(使用NotePad++,菜单栏有一格式菜单,打开即可调整文件格式,当然也可以选择DW,Editeplus 云云)

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


解决方法:

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

如果在访问a.php的时候:

显示红色既是错误的文件格式提示。必须修改。

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);
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);
}
?>  

在用Notepad++编写提示错误的php文件,首先请将字符集设置正确,方法是点击菜单“格式→以UTF-8无BOM格式编码”。设置完成后,再编辑代码,保存时就自动设为UTF-8 无BOM 编码。以后再打开此文件无需再次设定。
notepad++

PHP文件内容复制进去后直接点击另存为该php文件名,把该文件名覆盖到织梦系统文件就可以了

修改后好 记得生成,更新系统缓存。

各位草鸟和大神,做之前,请做好网站的备份工作,防止万一出错。

tag标签:
------分隔线----------------------------
------分隔线----------------------------
[相关文章]