白起SEO分享织梦图集上传图片自动添加水印和有错误提示fileid1/2/3解决方法。
图集模型添加水印方法:
大家都可以可能没注意这个问题,织梦图集模型批量上传图片的时候,会发现,上传过的图片没有水印,这个很头痛的问题,不能加水印,会导致辛苦做的图片被盗版,如果加了水印,对自己的网站也是一种宣传,后台系统水印设置也没有这个选项,所以我们需要对其进行修改,具体方法如下:
图集模型添加水印方法:
大家都可以可能没注意这个问题,织梦图集模型批量上传图片的时候,会发现,上传过的图片没有水印,这个很头痛的问题,不能加水印,会导致辛苦做的图片被盗版,如果加了水印,对自己的网站也是一种宣传,后台系统水印设置也没有这个选项,所以我们需要对其进行修改,具体方法如下:
第一步:
找到并打开后台管理目录下的dede/swfupload.php文件,在大约第95行的位置找到如下代码:
找到并打开后台管理目录下的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以下的不会带水印,有兴趣的可以详细测试下。附图:
当然还有以下设置问题:
第二步:
记得一定要替换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 编码。以后再打开此文件无需再次设定。
PHP文件内容复制进去后直接点击另存为该php文件名,把该文件名覆盖到织梦系统文件就可以了
修改后好 记得生成,更新系统缓存。
各位草鸟和大神,做之前,请做好网站的备份工作,防止万一出错。