插件发布
插件名称: |
DZ7.0正式版远程图片本地化插件(修改自scckfzx的全局钩子版本) |
插件来源: |
|
适用版本: |
Discuz! 7.0 |
语言编码: |
GBK简体 |
最后更新时间: |
|
插件作者: |
scckfzx |
插件简介: |
适用版本Discuz!7.0正式版本。
此插件是很多论坛朋友都需要的功能,但discuz考虑到安全及布局问题,始终没有为广大站长提供此功能。为此一起买主机团购网为大家做了这个插件,此插件采用官方推荐的钩子方式。安装方便,卸载方便干净,系统升级方便希望能方便广大网友。但您在使用此插件前必须清楚可能存在的风险,正如discuz所说,让一个普通的用户任意下载远程文件到服务器上对服务器的安全绝对是一大挑战,因此您务必要小心。
本插件可以下载目前大部分图片文件,默认是不支持无图片后缀的图片文件下载,如新浪博客图片就没有后缀,大家可以去看看,但为了一起买主机团购网下一步DISCUZ自动采集、内容发布插件的开发,在此还是为站长提供了此功能,你可以在./plugins/17buyhost/17buyhost.inc.php 文件中找到一段关于图片获取的正则说明,说明中有两种正则表达式,另外一种就是可以下载新浪等无图片后缀的图片文件,你只要用另外一种正则代替当前正则就可以了。出于安全考虑,不建议你这么做。我们会针对权限控制进行升级,当然你们也可以自己升级。
另httpdown.class.php是一个比较完整的HTTP下载类,大家可以用来用PHP下载除脚本之外的任何文件。 |
本帖最后由 cctext 于 2009-1-21 21:41 编辑
对了,大家去测试不要发太大的图片啊。。快没空间了。。。手下留情。。最晚25号关闭测试。。最早可能很快。。。
2009-01-21增加演示站点:http://www.z7z8.info/thread-1-1-1.html ,你可以注册发贴,我临时建的测试站点。
论坛程序版本 Discuz! 7.0.0 Release 20081224 查看最新版本 专业支持与服务 Discuz!专用主机
UCenter 客户端版本 UCenter 1.5.0 Release 20081224
说明:这个演示站是刚刚新装的,插件和修改文件是直接从下面附件下载的,演示的这个贴是非静态化是发的,现在静态化了,大家可以去测试,也是没问题的。有问题的朋友自己先检查下吧。。。或者等scckfzx出新版本
补充:有人说用了发帖都发不了,这几天我没有用自己的电脑,登陆不了FTP,改天我重新测试下。另外,直接下载原帖的插件按下面的方法安装一样可用,只是不支持[img=11,111]这样有宽度的图片的本地化。如果一样有问题,那就是自己论坛或者自己安装的问题了。
再补充我修改了插件的内容:
我仅修改了第15行的preg_match_all("/(src|SRC|\[img\])=?[\"|'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png)(\[\/img\])?)/isU",$body,$img_array);
为
preg_match_all("/(src|SRC|\[img\])=?[\"|'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png)(\[\/img\])?)/isU",$body,$img_array);
增加了一个正则判断;
还有16行:$img_array = array_unique($img_array[2]); 改为:$img_array = array_unique($img_array[3]);
修改了数组数量。
我检查了附件,没有传错,应该不会有问题的,DZ原文件你可以手工修改,不用我的,除非原插件有bug或者自己安装错误,否则绝对不会出问题的。
我发现这插件是scckfzx发布,原帖:
https://discuz.dismall.com/thread-1021033-1-1.html
修改实现了[img=11,111]这样有宽度的图片一样可以本地化,不过无后缀和水印功能,因为能力问题,还在研究。
仅适用于gbk版,utf版请自行转码
我从7.0重新导出的,不知导入会不会有版本错误,如果有选中:允许导入不同版本 Discuz! 的插件(易产生错误!!) 就可以了。
下面是scckfzx对此插件的介绍:
简介:
适用版本discuz6.1.0版本。
此插件是很多论坛朋友都需要的功能,但discuz考虑到安全及布局问题,始终没有为广大站长提供此功能。为此一起买主机团购网为大家做了这个插件,此插件采用官方推荐的钩子方式。安装方便,卸载方便干净,系统升级方便希望能方便广大网友。但您在使用此插件前必须清楚可能存在的风险,正如discuz所说,让一个普通的用户任意下载远程文件到服务器上对服务器的安全绝对是一大挑战,因此您务必要小心。
本插件可以下载目前大部分图片文件,默认是不支持无图片后缀的图片文件下载,如新浪博客图片就没有后缀,大家可以去看看,但为了一起买主机团购网下一步DISCUZ自动采集、内容发布插件的开发,在此还是为站长提供了此功能,你可以在./plugins/17buyhost/17buyhost.inc.php 文件中找到一段关于图片获取的正则说明,说明中有两种正则表达式,另外一种就是可以下载新浪等无图片后缀的图片文件,你只要用另外一种正则代替当前正则就可以了。出于安全考虑,不建议你这么做。我们会针对权限控制进行升级,当然你们也可以自己升级。
另httpdown.class.php是一个比较完整的HTTP下载类,大家可以用来用PHP下载除脚本之外的任何文件。
下面是7.0的安装方法:
安装:
1、将17buyhost文件夹拷贝到plugins目录下。进入后台-->扩展-->导入-->/plugins/17buyhost/discuz_plugin_picture.txt导入。
2、打开include/newreply.inc.php在约229行找到- $pinvisible = $modnewreplies ? -2 : 0;
复制代码 在其后面插入- eval($hooks['picture_down']);
复制代码 保存。
3、打开include/newthread.inc.php在约364行找到- $pinvisible = $modnewthreads ? -2 : 0;
复制代码 在其后面插入- eval($hooks['picture_down']);
复制代码 保存。
安装完成。
另外需要编辑时也实现图片本地化的话 :
由于安装此插件后发过的帖子的图片都是本地化的了,如果在编辑中在运行插件的话等于无谓的消耗了系统资源.因此插件没在这挂钩子,但如果,如果安装插件之前论坛已经有很多图片是远程的话,你可以通过下面的办法,采用编辑的方式重新保存一下就可以本地化了.
include/editpost.inc.php 中约765行- $message = preg_replace('/\[attachimg\](\d+)\[\/attachimg\]/is', '[attach]\1[/attach]', $message);
复制代码 后加上- eval($hooks['picture_down']);
复制代码 等图片本地化了之后把这句在删除.可以节约系统资源. |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|