discuzx2 附件做cdn
来源:互联网 发布:手机连不上4g网络数据 编辑:程序博客网 时间:2024/05/16 11:14
1、为提高公司论坛的性能,公司决定做论坛附件的cdn
2、上传附件:通过ftp的方式上传附件,如果想直接跨域上传附件,我觉得会很困难的,目前本人尚没有方法做到跨域上传附件。
3、本公司只是为data重新指定了一个域名,所以上传不影响。
4、php header函数下载东西,最重要的就是文件的路径名和文件的大小。开始我想使用file_put_content()函数来获得,但是没有成功,还有discuz里面的readerfile函数也是不能读取另一个域名下的文件。所以我使用了curl函数
修改方法:
1、修改图片在页面上的显示路径,这个就在discuz后台--全局--上传设置中设置下就好了
2、修改source/module/forum/forum_attachment.php。里面的$_G ['setting'] ['attachdir']的值,可以再初始化时修改,也可以在该文件的头部修改。
3、获得文件的大小及内容:函数如下(简单写了下,哈),使用getfilesize()函数取得文件的大小及内容,然后使用leilei_readfile()代替getlocalfile()函数中的readfile()函数就可以了。
function getfilesize($filename){;
$ch=curl_init();
$timeout=5;
curl_setopt($ch,CURLOPT_URL,$filename);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$img=curl_exec($ch);
curl_close($ch);
$image['size'] = strlen($img);
$image['content'] = $img;
return $image;
}
function leilei_readfile($filename){
ob_start();
global $isImages;
$fp = @fopen ( $filename, 'rb' );
$image = getfilesize($filename);
if($fp){
if($isImages){
echo $image['content'];die;
}
echo fread($fp,$image['size']);
fclose($fp);
}else{
//var_dump("dddsddsdd");die;
showmessage('attachment_nonexistence');
}
}
- discuzx2 附件做cdn
- DiscuzX2 为什么附件文件名改成了.ATTACH
- Discuz!+七牛CDN+远程附件设置成功
- 【discuzx2】官网上下载下来的discuz x2论坛系统发帖时编辑器的上传附件功能失效
- Squid集群做CDN全网加速
- Squid集群做CDN全网加速
- Squid集群做CDN全网加速
- CDN
- cdn
- CDN
- CDN
- CDN
- CDN
- CDN
- CDN
- cdn
- CDN
- cdn
- s3c2440 裸奔 PWM 分析
- c++ vector的容量增长方式
- cxf调用webservice
- poj 1323
- 法线贴图
- discuzx2 附件做cdn
- java_抽象类和接口(黑马程序员)
- Office 2013新特性
- Linux学习笔记之Centos 6.3下NFS的安装配置
- Understand Zend_Controller_Action
- android http请求 状态消息返回
- how to find shell type in linux
- strut2.3.4+json+jquery实现ajax登录
- 一个赌博面试题的研究(未解答出来)