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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

远程图片本地化 for dz2.5 (有人要就写了)

[复制链接]
魔焰男孩 发表于 2005-10-4 13:49:35 | 显示全部楼层 |阅读模式
插件名称:远程图片本地化
插件版本:V1.0
插件作者:魔焰男孩
修改文件:include/newthread.php、admin/settings.php
修改模板:admincp.lang.php
增加文件:getimg.php
增加模板:/
数据升级:有
安装难度:易
功能说明:
        当用户在发新帖时带有[img]代码时,将会将[img]代码指示的图片下载到本地服务器,然后修改指示地址,使其连接到下载的图片。这个插件有两个问题:
1、当用户使用[img=x,y]http://x.gif[/img]代码时不能下载图片。
2、只有在发新主题的时候才能使用本程序。

       本程序的特色:
1、能自动检测远程图片是否存在,不存在将自动停止运行。
2、用户能在后台自定义是否启用、图片储存目录及缓冲数据量。
3、在下载图片时能进行缓冲。
4、储存的文件名是随机产生的(因为是随机产生的,所以可能会重复,然后会覆盖以前的文件。)

安装方法:
1、下载附件,解压缩,将里面的getimg.php上传到论坛根目录。
2、打开模板admincp.lang.php,找:
  1.         'settings_smcols_comment' => '发帖页面每行显示 Smilies 的个数',
复制代码

在下面添加:

  1.         'settings_getimgon' => '自动下载图片',
  2.         'settings_getimgon_comment' => '用户使用img代码将自动把远程图片下载到服务器上',
  3.         'settings_getimgdir' => '图片保存目录',
  4.         'settings_getimgdir_comment' => '下载的图片的储存的目录',
  5.         'settings_getimgbuf' => '下载缓冲',
  6.         'settings_getimgbuf_comment' => '下载图片每次接收的数据量(1024~4096为宜)',
复制代码

3、打开admin/settings.php,找:
  1.                 showsetting('settings_smcols', 'settingsnew[smcols]', $settings['smcols'], 'text');
复制代码

在下面加上:

  1.                 showsetting('settings_getimgon', 'settingsnew[getimgon]', $settings['getimgon'], 'radio');
  2.                 showsetting('settings_getimgdir', 'settingsnew[getimgdir]', $settings['getimgdir'], 'text');
  3.                 showsetting('settings_getimgbuf', 'settingsnew[getimgbuf]', $settings['getimgbuf'], 'text');
复制代码

找:
  1. 'maxpolloptions', 'smcols'
复制代码

在后面加:
  1. , 'getimgon', 'getimgdir', 'getimgbuf'
复制代码

4、打开后台,升级数据库,执行:

  1. INSERT INTO cdb_settings VALUES('getimgon','1');
  2. INSERT INTO cdb_settings VALUES('getimgdir','getimg');
  3. INSERT INTO cdb_settings VALUES('getimgbuf','2048');
复制代码

5、打开newthread.php,找:
  1.         $smileyoff = checksmilies($message, $smileyoff);
复制代码

在下面加上:
  1.         include('getimg.php');
复制代码


好了,这样就安装完了!

================反安装代码===============
到后台升级数据库执行:

  1. DELETE FROM cdb_settings WHERE variable='getimgon';
  2. DELETE FROM cdb_settings WHERE variable='getimgdir';
  3. DELETE FROM cdb_settings WHERE variable='getimgbuf';
复制代码

======================================
申请freediscuz的插件团队了,大家来支持一下:
http://www.freediscuz.net/dev/viewthread.php?tid=4465


有问题在下面提出来。

[ 本帖最后由 魔焰男孩 于 2005-10-4 14:09 编辑 ]

评分

1

查看全部评分

 楼主| 魔焰男孩 发表于 2005-10-4 13:49:57 | 显示全部楼层
说一下原理:

当用户提交新主题时,他首先检测有没有[img]这个代码。如果有,通过一系列的函数获取[img]到[/img]之间的地址(所以不支持[img=x,y])。然后,使用fread函数读取这个地址(如果没有这幅图片就会出现提示),当然,是分段读,每次读多少有您在后台设置。然后使用fwrite函数将读到的图片信息写到文件“您指定的目录/img_随机数字.扩展名”里,再接着把[img]与[/img]里面的地址更改成保存到了服务器上的图片的地址。

[[i] 本帖最后由 魔焰男孩 于 2005-10-4 16:17 编辑 [/i]]
回复

使用道具 举报

孤情一刀 发表于 2005-10-4 14:20:04 | 显示全部楼层
板凳!!支持!!!!!
回复

使用道具 举报

 楼主| 魔焰男孩 发表于 2005-10-4 14:20:06 | 显示全部楼层
非常非常强烈的BS那些看帖不回的人!!!
回复

使用道具 举报

孤情一刀 发表于 2005-10-4 14:20:56 | 显示全部楼层
不过这对空间小的人没什么用吧.

还是支持哈哈
回复

使用道具 举报

闪电 发表于 2005-10-4 14:30:29 | 显示全部楼层
哈哈,支持来了,我用了嘿嘿
回复

使用道具 举报

最懒的蜜蜂 发表于 2005-10-4 14:46:51 | 显示全部楼层
支持一下~~~不错
回复

使用道具 举报

被抛弃的神 发表于 2005-10-4 14:54:17 | 显示全部楼层
支持
免的被BS!~~~~~~~
回复

使用道具 举报

lcs739 发表于 2005-10-4 15:08:40 | 显示全部楼层
多谢多谢
回复

使用道具 举报

gdvip 发表于 2005-10-4 15:16:56 | 显示全部楼层
太太先进了,感谢楼主的成果!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 22:49 , Processed in 0.191024 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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