Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[修改] Discuz X3 远程图片下载, 更兼容, 更迅速, 更强大!

[复制链接]
元首 发表于 2013-6-9 12:35:12 | 显示全部楼层 |阅读模式
本帖最后由 元首 于 2013-6-9 12:36 编辑

使用方法: 在原官方基础上修正的, 当发表主题时, 点击图片下载即可.
插件要求: 建议服务器开启curl功能, 图片下载速度会更快.
测试数据:  24张图片, 每张约200KB, 共计4MB大小, 图片下载时间10秒, 图片后期处理时间为7秒. 共计17秒. 官方的操作有许多, 比如缩略图, 索引, 判断文件或者远程FTP等等.

实现方法:  既然官方已经有远程图片下载功能, 许多用户反映此功能, 基本上算是闲置. 感谢上帝, 让我今天在逛discuz时, 看到了这个用户回复的内容. 本人有少量的采集及同步经验, 经验告诉我, 这个问题是可以解决的, 顺便帮官方优化一下代码. 官方旧的流程是: 取出信息中的 就是图片标签中的url, 然后循环, 取得图片数据, 然后一一入库做处理. 默认用了sockopen, 在php历史上号称最慢的函数, 当然sockopen也有他的好处, 支持ssl, 更为稳定,  但discuz使用的用户多为中国用户, 可以换成curl去实现. curl实现就得解决循环取值, 费时的问题, 比如一张200K的图片, 你取一次, 大约为3秒, 那30张就是90秒,  假如你是用户, 会如何? 不管你会如何, 反正我是会崩溃.

功能已经测试过多次, 还需要不同的用户不同的服务器再深入测试.


utf-8 版本(其它版本请另存为转换)
下载zip文件解压, 得到:forum_ajax.php   然后将此php文件上传到\source\module\forum\目录, 替换旧的php文件, 注意备份旧有的文件.

调试方式:
   假如你在使用过程中遇到无法下载图片, 无响应, 或者其它相关, 请打开forum_ajax.php文件, 找到: define('GP_DEBUG', false); 修改为: define('GP_DEBUG', true); 然后再发表一篇主题, 然后查看: ./data/sync_images.log文件, 看不懂的用户可以发上来, 我们帮你分析.
   调试完成, 将define('GP_DEBUG', true); 改成 define('GP_DEBUG', false);


官方原图片下载功能.


官方原版下载过程, 注意看时间, 是10秒左右. 图片约12张.  


这是修改之后的效果. 时间已经明显缩小. 此为调试模式下运行.


修改之后真实情况验证, 3秒的速度明显优势突出, 官方是10秒, 增加此功能后, 变成3秒.


图片全部在列表中显示出来.

复制的图片有40张, 花费15秒, 基本上1秒下载三张图片. 数据并不是全部雷同, 这得根据你的服务器性能来决定.

* 注意: 本功能需要curl扩展功能支持, 请联系主机提供商是否支持, 或者其它限制.

有异常请回复本帖, 我会一一解答.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| 元首 发表于 2013-6-9 12:39:04 | 显示全部楼层
个人比较欣赏的大齐全美真图片网站: http://pie.pconline.com.cn/
回复

使用道具 举报

潮宅男女 发表于 2013-6-9 21:10:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

1314学习网 发表于 2013-6-9 22:40:21 | 显示全部楼层
前排友情支持下
回复

使用道具 举报

垃圾猫 发表于 2013-6-13 10:57:53 | 显示全部楼层
本功能需要curl扩展功能支持, 请联系主机提供商是否支持,怎么查看?
回复

使用道具 举报

可爱的轩轩 发表于 2013-6-13 11:05:49 | 显示全部楼层
很强大的功能
回复

使用道具 举报

垃圾猫 发表于 2013-6-13 11:25:47 | 显示全部楼层

./data/sync_images.log文件  目录下没有这个文件,点击图片也没出现下载的提示。
回复

使用道具 举报

努力向上 发表于 2013-6-13 12:16:16 | 显示全部楼层
此帖不能不頂...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 13:56 , Processed in 0.056209 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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