dedecms 目录生成(dedecms实现自动打包文章中图片并下载的方法)
类别:CMS系统 浏览量:2867
时间:2022-03-28 09:01:17 dedecms 目录生成
dedecms实现自动打包文章中图片并下载的方法本文实例讲述了dedecms实现自动打包文章中图片并下载的方法。分享给大家供大家参考。具体分析如下:
自己几年前的QQ图片网站所有的内容是直接复制上去了,这样我们现在提供了下载功能,但是当时并没有下载地址了,这样我们研究了一个可以自动当用户点击下载时再把当前文章中的图片利用ZipArchive压缩并实现下载,下面来看示例代码,代码如下:
$conn = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd) ;//or die(mysql_error());
mysql_select_db($cfg_dbname,$conn);
mysql_query("set Names '$cfg_db_language'");
$id = intval(isset($_GET['id'])?$_GET['id']:0);
if( $id )
{
$zipUrl = 'uploads/zip/'.$id.'.zip';
if( file_exists($zipUrl) ) //判断文件是否存在
{
echo '<script language="javascript">location.href="'.$zipUrl.'";</script>';
exit;
}
else
{
$sql ="select url from ".$cfg_dbprefix."uploads where arcid=$id";
$query = mysql_query( $sql );// or die(mysql_error());
if( mysql_num_rows( $query ) )
{
$array = array();
while( $rs = mysql_fetch_array( $query ) )
{
$array[] = substr($rs['url'],1,strlen($rs['url'])-1);
}
//print_r($array);
create_zip($array, $zipUrl, true); //在这里创建压缩文件
echo '<script language="javascript">location.href="'.$zipUrl.'";</script>'; //创建好了再下载
exit;
}
else
{
echo '参数错误';
exit;
}
}
}
else
{
echo '参数错误';
exit;
}
//查询数据表 </p> <p>/*创建一个zip文件*/
function create_zip($files = array(),$destination = '',$overwrite = false) {
if(file_exists($destination) && !$overwrite){ //检测zip文件是否存在
return false;
}
if(is_array($files)) { //检测文件是否存在
foreach($files as $file) { //循环通过每个文件
if(file_exists($file)) { //确定这个文件存在
$valid_files[] = $file;
}
}
}
if(count($valid_files)) {
$zip = new ZipArchive(); //创建zip文件
if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true){
return false;
}
foreach($valid_files as $file) { //添加文件
$zip->addFile($file,$file);
}
$zip->close();
return file_exists($destination);
} else {
return false;
}
}
前一段代码是连接dedecms数据库然后再进行根据文件ID查找数据并进行压缩了,打包好之后利用js输出就实现了下载,如果下次再下载这个文件就自动调用此文件而不再次打包查找数据库了,这样可以减少服务器负载.
希望本文所述对大家的dedecms建站有所帮助。
您可能感兴趣
- 新建的dedecms被黑(解决Dedecms生成RSS地图地址出错全都多了一个网址的问题)
- dedecms如何使用(使用dedecms制作英文站的技巧说明)
- dedecms的简单说明(DEDECMS5.5在国外Linux主机下无法采集的解决方法)
- 织梦dede数据库(dedeCMS 织梦的日期时间格式大全最新)
- dedecms前台发布文章(dedecms随机调用文章数据方法汇总)
- dedecms安全设置(织梦系统DedeCMS设定栏目及文档权限登录后跳转到登陆前的页面的实现方法)
- 织梦dedecms建站详细流程(修改织梦dedecms后台默认admin账号的方法)
- dedecms如何建站(多端全媒体建站系统DEDECMS V6全新发布)
- dedecms后台关键词(DedeCms防止垃圾文章群发、垃圾评论和注册的方法)
- dedecms二级菜单(dedecms5.7使tag调用的标签正序排列的方法)
- dedecms文章顺序(dedecms 分页标题提取方法)
- dedecms 产品缩略图(织梦DedeCms v5.6/5.7 新图集页面增加图片下载功能)
- dedecms栏目静态化(DedeCms获取任意栏目N级列表链接树形菜单的方法)
- dedecms授权付费(dedecms实现删除垃圾会员的方法)
- dedecms仿站教程(如何让dedecms变成全站动态浏览有利于企业站)
- dedecms如何提高网站权重(dede网站内容页如何调取栏目页标题及关键字组合为seo标题)
- 心理学 四个金蟾,哪个最招财 测你今生的运势有多棒(心理学四个金蟾)
- 吉善缘《聚宝金蟾》金蟾招财摆件 三足全铜蟾蜍客厅店铺开业礼品(吉善缘聚宝金蟾金蟾招财摆件)
- 招财化煞神兽,金蟾变了(招财化煞神兽金蟾变了)
- 26岁杨紫的白素贞遇上24岁鞠婧祎,哪个最美(26岁杨紫的白素贞遇上24岁鞠婧祎)
- 鞠婧祎和杨紫两种风格的女生,你心里谁比较美(鞠婧祎和杨紫两种风格的女生)
- 三千年第一美女鞠婧祎出演白素贞pk杨紫,颜值胜赵雅芝王祖贤(三千年第一美女鞠婧祎出演白素贞pk杨紫)
热门推荐
- jupyter如何编写python(windows系统中Python多版本与jupyter notebook使用虚拟环境的过程)
- 时间日期python实例(Python之时间和日期使用小结)
- ubuntu常用命令表(Ubuntu服务器常用命令汇总)
- python3.5 tkinter教程(解决python3.5 正常安装 却不能直接使用Tkinter包的问题)
- ddos防御实例(浅析云主机防ddos的基础防御)
- 阿里云服务器可以连接几个面板(阿里云云服务器宝塔面板的安装图文教程详解)
- 如何用thinkphp框架来写一个网站(php tpl模板引擎定义与使用示例)
- SQL语句的几个好习惯
- 云服务器ecs使用教程(在阿里云ECS服务器上搭建WordPress的全过程解析)
- phpstudy创建网站教程(使用phpstudy中域名管理菜单创建本地站点图文)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9