思爱

有时候,我们对别人的小恩小惠感激不尽,却对亲人一辈子的恩情视而不见。

Discuz! 5 6 7 隐藏远程附件的真实地址的方法

Posted By 思爱 on 2009年11月17日

远程附件其实是个很不错的功能,利用单独服务器的空间和流量,节省主论坛的资源,加快论坛速度提高稳定性。

不过,目前有个不小的缺憾:如果隐藏远程附件的真实地址,就没法充分利用附件服务器的带宽,还会加大主论坛的流量,加重主论坛的负担。如果不隐藏真实地址,下载附件后,文件名又都会变乱码。

单个文件还好说,处理分卷压缩的文件就要累死了。

从5.5、6.0、6.1一直到目前的7.0,官方论坛也一直没有解决这个问题。不过现在终于可以解决了,现在免费提供给大家使用。使用方法如下:

把附件中的down.php复制到远程附件目录下。比如,远程附件设置的路径是http://remotehost/remoteattach/,就要把down.php放在远程附件服务器的remoteattach目录下。

2、修改论坛中的bbs/attachment.php文件。

找到如下内容(DZ6.0第152行,DZ6.1第133行,在DZ7.0版本中,第139行):

  1. dheader(‘location:’.$ftp['attachurl'].’/’.$attach['attachment']);


将该行内容修改为下面四行(修改前请自行备份原来的文件/修改时请直接复制粘贴,不要手工输入

  1. if($isimage && !empty($noupdate))
  2. dheader(‘location:’.$ftp['attachurl'].’/’.$attach['attachment']);
  3. else
  4. dheader(‘location:’.$ftp['attachurl'].’/down.php?name=’.urlencode($attach['filename']).’&host=’.$attach['attachment']);


需要注意的地方:
1、如果需要远程附件支持断点续传和多线程下载,请把down.php中的”$readmod = 2″改为”$readmod = 4″;
2、论坛的附件设置里面,附件保存方式不可以选择: 标准(全部存入同一目录);
3、远程附件目录不要放置可以运行的程序,否则程序脚本可能会被非法读取。

下载:

远程附件_PHP


Comments

Comments are closed.