Discuz教程网

Discuz远程附件图片裁切无法更新的问题修复

[复制链接]
authicon dly 发表于 2014-1-14 16:16:46 | 显示全部楼层 |阅读模式
iscuz支持远程附件,是很好的功能,能够减轻web服务器压力,但是,却也有一个比较头疼的问题。那就是当前台DIY调用和裁切功能的时候,却发现裁切以后的图片,只能保存在本地,而不能重新更新到FTP服务器上,这个功能让很多图片看起来都扭曲、模糊,极大的影响了用户体验。
不管是曾经的Discuz X2, Discuz X2.5还是最新的X3,都没有能及时解决这个问题,我们只好自己动手解决。:)
经过几天的研究,终于找到了一种修改比较简单的方式,具体如下:
找到文件:
/source/module/misc/misc_imgcropper.php
找到文件尾部:
  1. $image->Cropper($image->target, $cropfile, $cutwidth, $cutheight, $left, $top);
  2. showmessage('do_success', dreferer(), array('icurl' => $cropfile), array('showdialog' => true, 'closetime' => true));
复制代码
修改为:
  1. $image->Cropper($image->target, $cropfile, $cutwidth, $cutheight, $left, $top);
  2.     //BEGIN
  3.     //默认情况下,裁切图片只是保存在本地的,而由于block的更新代码,在判断缩略图标记为是的情况下是不更新到附件ftp上的;
  4.     //这里,我们就需要在裁切保存以后,把图片更新到附件FTP上,裁切才会有效果;由第一改装网技术团队修改(gai001.com);20130703;
  5.     if ($_G['setting']['ftp']['on']) {
  6.         $ftp = &discuz_ftp::instance();
  7.         $ftp -> connect();
  8.         if ($ftp -> connectid) {
  9.             $ftp -> upload($_G['setting']['attachurl'].$cropfile, $cropfile);
  10.         }
  11.     }
  12.     //END
  13.         showmessage('do_success', dreferer(), array('icurl' => $cropfile), array('showdialog' => true, 'closetime' => true));
复制代码
这样的话,在开启了远程附件以后,裁切图片的时候,新的图片缩略图就会保存到服务器上了。由于之前的图片缩略图也是存在的关系,新的图片只是覆盖了原来的缩略图,所以,想要及时看到效果,需要清空一下浏览器缓存,也可以到ftp服务器上查看,看看是否更新了上去。
游客,如果您要查看本帖隐藏内容请回复



上一篇:Discuz门户文章中图片设置Alt属性
下一篇:Discuz! X2禁止前台文章列表页缩略图显示修改方法
authicon attaboy 发表于 2014-1-23 16:36:03 | 显示全部楼层
没人回复,支持一下
authicon www111111 发表于 2015-1-28 13:55:54 | 显示全部楼层
dasfsgdfjghdfgsfsaddsasdd
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 12:20

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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