Discuz支持遠(yuǎn)程附件,是很好的功能,能夠減輕web服務(wù)器壓力,但是,卻也有一個(gè)比較頭疼的問題。那就是當(dāng)前臺(tái)DIY調(diào)用和裁切功能的時(shí)候,卻發(fā)現(xiàn)裁切以后的圖片,只能保存在本地,而不能重新更新到FTP服務(wù)器上,這個(gè)功能讓很多圖片看起來(lái)都扭曲、模糊,極大的影響了用戶體驗(yàn)。
不管是曾經(jīng)的Discuz X2, Discuz X2.5還是最新的X3,都沒有能及時(shí)解決這個(gè)問題,我們只好自己動(dòng)手解決。:)
經(jīng)過幾天的研究,玩改車技術(shù)團(tuán)隊(duì)(wangaiche.com)終于找到了一種修改比較簡(jiǎn)單的方式,具體如下:
找到文件:
/source/module/misc/misc_imgcropper.php
找到文件尾部:- $image->Cropper($image->target, $cropfile, $cutwidth, $cutheight, $left, $top);
- showmessage('do_success', dreferer(), array('icurl' => $cropfile), array('showdialog' => true, 'closetime' => true));
復(fù)制代碼 修改為:- $image->Cropper($image->target, $cropfile, $cutwidth, $cutheight, $left, $top);
- //BEGIN
- //默認(rèn)情況下,裁切圖片只是保存在本地的,而由于block的更新代碼,在判斷縮略圖標(biāo)記為是的情況下是不更新到附件ftp上的;
- //這里,我們就需要在裁切保存以后,把圖片更新到附件FTP上,裁切才會(huì)有效果;由玩改車技術(shù)團(tuán)隊(duì)修改(wangaiche.com);20130703;
- if ($_G['setting']['ftp']['on']) {
- $ftp = &discuz_ftp::instance();
- $ftp -> connect();
- if ($ftp -> connectid) {
- $ftp -> upload($_G['setting']['attachurl'].$cropfile, $cropfile);
- }
- }
- //END
- showmessage('do_success', dreferer(), array('icurl' => $cropfile), array('showdialog' => true, 'closetime' => true));
復(fù)制代碼 這樣的話,在開啟了遠(yuǎn)程附件以后,裁切圖片的時(shí)候,新的圖片縮略圖就會(huì)保存到服務(wù)器上了。由于之前的圖片縮略圖也是存在的關(guān)系,新的圖片只是覆蓋了原來(lái)的縮略圖,所以,想要及時(shí)看到效果,需要清空一下瀏覽器緩存,也可以到ftp服務(wù)器上查看,看看是否更新了上去。
本文由玩改車(wangaiche.com)技術(shù)團(tuán)隊(duì)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)源。
|