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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

请求管理把附件的问题根除把 - 远程附件精英进入

[复制链接]
980802000 发表于 2013-7-31 02:49:02 | 显示全部楼层 |阅读模式



HI 哥们你好。


   我现在遇到的问题是这样。

1.远程附件的时候,缩略图无法生成到远程服务器.
2.首页门户页,缩略图无效。全是原图缩放直接 width 限制。这样的话,首页直接就卡死了。



我买了一块SAS硬盘,今天在公司发现一个空闲的1T SAS 2.5果断拿走了。现在我的这个DZ3.0 准备是做1千万张图片组成的大型图片,素材站点。

服务器已搭建完美。

服务器环境:

附件服务器: Nginx+ME缓存+(SSD+SAS)+国内1G带宽 纯真1G.测试过无数次。

主脑WEB: Nginx前台+apache后台运作,Nginx负责用户请求.apache负责后台各类读写生成更新等操作 + Me缓存+SAS+随意带宽


我想做点事情。我也很看好DZ。很多时候我们圈里朋友也经常讨论,DZ很忽略SEO的。这个没有办法,我们很看重SEO,不管做Google,还是baidu。

======================

其他我们都可以处理,现在就是卡在远程附件的问题。希望兄弟们或者现在就在用远程附件完美的兄弟,给点思路。让我早日开枪。
briskvoice 发表于 2013-7-31 10:58:48 | 显示全部楼层
你远程附件怎么了
回复

使用道具 举报

huangwei21 发表于 2013-7-31 14:37:40 | 显示全部楼层
像这么多的附件也可以放在云存储里,像应用中心里的百度云存储附件通,百度网盘附件通都可以用。
回复

使用道具 举报

xiao7225 发表于 2013-7-31 15:10:14 | 显示全部楼层
huangwei21 发表于 2013-7-31 14:37
像这么多的附件也可以放在云存储里,像应用中心里的百度云存储附件通,百度网盘附件通都可以用。

不懂不要乱说
回复

使用道具 举报

 楼主| 980802000 发表于 2013-8-1 01:51:32 | 显示全部楼层
huangwei21 发表于 2013-7-31 14:37
像这么多的附件也可以放在云存储里,像应用中心里的百度云存储附件通,百度网盘附件通都可以用。

哥们我没有说会员的.rar啊什么附件,我说纯网站的图片,哥们,你整个理解错了
回复

使用道具 举报

 楼主| 980802000 发表于 2013-8-1 01:52:19 | 显示全部楼层
briskvoice 发表于 2013-7-31 10:58
你远程附件怎么了

现在首页死活用的是原图缩放,原图都很大。首页很大很卡。其他页面没有问题。就是卡在缩略图上的问题了
回复

使用道具 举报

briskvoice 发表于 2013-8-1 09:04:25 | 显示全部楼层
980802000 发表于 2013-8-1 01:52
现在首页死活用的是原图缩放,原图都很大。首页很大很卡。其他页面没有问题。就是卡在缩略图上的问题了

那用css来限定大小吧
回复

使用道具 举报

caikefeng 发表于 2013-8-3 17:17:45 | 显示全部楼层
楼上回复我笑死了。

远程图片,看楼主怎么调用的,如果是DIY或者后台做数据调用,缩图是进远程附件服务器里的,不过在web服务器目录也会生成一个图片。
回复

使用道具 举报

caikefeng 发表于 2013-8-3 17:25:06 | 显示全部楼层
主要是不知道你如何调用的,不敢断言怎么解决。。
如果楼主用的是X3的image模块动态调用的话,URL如:http://www.xxxxx.com/forum.php?mod=image&aid=92&size=145x145&key=45da6dc661494647&atid=24
这样的话,缩图是在WEB服务器的,我个人修改了一下这个模块,代码贴上,未经大数据测试,楼主试试用吧。这个是根据AID进行取缩图,URL中key的获取方式用dsign函数,具体方法请看DZ源码。其他参数请分析image模块。请先确认你的缩图是用下面的文件调用的(forum_image.php)
  1. <?php

  2. /**
  3. *      [Discuz!] (C)2001-2099 Comsenz Inc.
  4. *      This is NOT a freeware, use is subject to license terms
  5. *
  6. *      $Id: forum_image.php 32531 2013-02-06 10:15:19Z zhangguosheng $
  7. */

  8. if(!defined('IN_DISCUZ') || empty($_GET['aid']) || empty($_GET['size']) || empty($_GET['key'])) {
  9.         header('location: '.$_G['siteurl'].'static/image/common/none.gif');
  10.         exit;
  11. }

  12. $nocache = !empty($_GET['nocache']) ? 1 : 0;
  13. $daid = intval($_GET['aid']);
  14. $type = !empty($_GET['type']) ? $_GET['type'] : 'fixwr';
  15. list($w, $h) = explode('x', $_GET['size']);
  16. $dw = intval($w);
  17. $dh = intval($h);
  18. $thumbfile = 'image/'.helper_attach::makethumbpath($daid, $dw, $dh);$attachurl = helper_attach::attachpreurl();
  19. if(!$nocache) {
  20.        
  21.        
  22.         //修改。判断远程是否存在缩图,若有则取出,否则调用本地,并将本地缩图传入远程。
  23.         $hander= get_headers($_G['setting']['ftp']['attachurl'].$thumbfile);
  24.         if($hander[0]=='HTTP/1.1 200 OK'){
  25.                 dheader('location: '.$_G['setting']['ftp']['attachurl'].$thumbfile);
  26.         }elseif(file_exists($_G['setting']['attachdir'].$thumbfile)) {
  27.                 if(getglobal('setting/ftp/on')) {
  28.                                 ftpcmd('upload', $thumbfile);
  29.                 }
  30.                 dheader('location: '.$attachurl.$thumbfile);
  31.         }
  32.         //END
  33. }
  34. define('NOROBOT', TRUE);
  35. $id = !empty($_GET['atid']) ? $_GET['atid'] : $daid;
  36. if(dsign($id.'|'.$dw.'|'.$dh) != $_GET['key']) {
  37.         dheader('location: '.$_G['siteurl'].'static/image/common/none.gif');
  38. }

  39. if($attach = C::t('forum_attachment_n')->fetch('aid:'.$daid, $daid, array(1, -1))) {
  40.         if(!$dw && !$dh && $attach['tid'] != $id) {
  41.                dheader('location: '.$_G['siteurl'].'static/image/common/none.gif');
  42.         }
  43.         dheader('Expires: '.gmdate('D, d M Y H:i:s', TIMESTAMP + 3600).' GMT');
  44.         if($attach['remote']) {
  45.                 $filename = $_G['setting']['ftp']['attachurl'].'forum/'.$attach['attachment'];
  46.                 //远程地址。
  47.                 $attachurl=$_G['setting']['ftp']['attachurl'];
  48.         } else {
  49.                 $filename = $_G['setting']['attachdir'].'forum/'.$attach['attachment'];
  50.                 //远程地址。
  51.                 $attachurl=$_G['setting']['attachdir'];
  52.         }
  53.        
  54.         require_once libfile('class/image');
  55.         $img = new image;
  56.         if($img->Thumb($filename, $thumbfile, $w, $h, $type)) {
  57.                 //判断FTP是否开启,若开启则传入远程
  58.                         if(getglobal('setting/ftp/on')) {
  59.                                 ftpcmd('upload', $thumbfile);
  60.                         }
  61.                 //end
  62.                 if($nocache) {
  63.                         dheader('Content-Type: image');
  64.                         @readfile($attachurl.$thumbfile);
  65.                         @unlink($attachurl.$thumbfile);
  66.                 } else {
  67.                         dheader('location: '.$attachurl.$thumbfile);
  68.                 }
  69.         } else {
  70.                 dheader('Content-Type: image');
  71.                 @readfile($filename);
  72.         }
  73. }

  74. ?>
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-23 13:33 , Processed in 0.027678 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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