好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php实现打包下载 php打包phar

很多站长朋友们都不太清楚php实现打包下载,今天小编就来给大家整理php实现打包下载,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 thinkphp打包exe 2、 怎样用多文件php实现多文件下载? 3、 php如何实现文件夹的打包下载详细操作步骤 4、 php导出excel表后,打包成压缩包,然后下载到本地如何实现? 5、 php 如何把文件夹及文件夹下面的所有文件打包成压缩包,在页面上用户点击下载按钮即可下载到本地? 6、 PHP网页上打包文件生成压缩文件zip,并弹出下载 thinkphp打包exe

thinkphp 打包文件,并下载

/**

* 打包下载

* 注意文件路径都是相对路径

* 不能使用ajax的方式

* @return [type] [description]

*/

public function allzip(){

$param = $this->request->param();

$ids = explode(",",$param['id']);

//要打包的文件

foreach ($ids as $k => $v){

$files[] =substr(db('seofile')->where('id',$v)->value('fileurl'),1);

}

$zip = new \ZipArchive;

//压缩文件名

$filename = 'upload/file/download.zip';

//新建zip压缩包

$zip->open($filename,\ZIPARCHIVE::OVERWRITE | \ZIPARCHIVE::CREATE);

//循环压缩文件

foreach($files as $key => $value){

$zip->addFile($value,basename($value));

}

//打包zip

$zip->close();

header("Cache-Control:public");

header("Content-Description: File Transfer");

header("Content-disposition: attachment; filename=".basename($filename));//文件名

//header("Content-Type: application/force-download");

header("Content-Type:application/zip"); //格式为zip

header("Content-Transfer-Encoding:binary"); //这是二进制文件

header("Content-Length:".filesize($filename)); //文件大小

@readfile($filename);

// @unlink($filename);

}

怎样用多文件php实现多文件下载?

好可怜啊,谁给你的任务,这个是不可能的,和框架、语言都没关系,是不是你的上级看错了文档啊,人家要求多个文件用zip打包下载(比如把文档中的“别忘了用zip”看成“别用zip”)

这种只能js同时弹出多窗口了,例如

<form class="download_form" target="download_url_1" action="download_url_1"></form>

<form class="download_form" target="download_url_2" action="download_url_2"></form>

...

<button onclick="$('form.download_form').each(function(){this.submit();})" type="button">点</button>

只要下载是正常的,这种弹出会在用户操作后(下载或取消)自动消失的。但是用户要一个一个点还是很差劲的用户体验。

window.open也行,但是容易受浏览器弹窗设置影响,所以不建议。

php如何实现文件夹的打包下载详细操作步骤

public function downloads(){

$file = "./Ludian_Disaster_Relief_Map_Operation_Guide.pdf";

if(file_exists($file)){

header('Content-Description: File Transfer');

header('Content-Type: application/octet-stream');

header('Content-Disposition: attachment; filename='.basename($file));

header('Content-Transfer-Encoding: binary');

header('Expires: 0');

header('Cache-Control: must-revalidate, post-check=0, pre-check=0');

header('Pragma: public');

header('Content-Length: ' . filesize($file));

ob_clean();

flush();

readfile($file);

}else{

$this->error("文件不存在");

}

}

php导出excel表后,打包成压缩包,然后下载到本地如何实现?

用PHPExcel,PHPExcel是相当强大的 MS Office Excel 文档生成类库。

你上它的官/网把程序包下/载下来,里面有 PHPExcel 的程序、还有30个实例程序和三个文档。

看一下其中的开发文档你就会用了。

读取(这段在开发文档里有的,在13页):

require_once 'Classes/PHPExcel/IOFactory.php';

$objReader = PHPExcel_IOFactory::createReader('Excel2007');

$objReader->setReadDataOnly(true);

$objPHPExcel = $objReader->load("test.xlsx");

$objWorksheet = $objPHPExcel->getActiveSheet();

echo '<table>' . "\n";

foreach ($objWorksheet->getRowIterator() as $row) {

echo '<tr>' . "\n";

$cellIterator = $row->getCellIterator();

$cellIterator->setIterateOnlyExistingCells(false);

foreach ($cellIterator as $cell) {

echo '<td>' . $cell->getValue() . '</td>' . "\n";

}

echo '</tr>' . "\n";

}

echo '</table>' . "\n";

?>

php 如何把文件夹及文件夹下面的所有文件打包成压缩包,在页面上用户点击下载按钮即可下载到本地?

一般不会下载的时候重新打包,因为php打包是一个非常消耗资源的过程。

使用php zip 打包,然后记录包的路径,下载的时候直接下载该路径文件即可。

PHP网页上打包文件生成压缩文件zip,并弹出下载

既然你只是想学习如何打包.

那我重点就回答你这一块,正好我刚刚用到;

$filename = "./" . date ( 'YmdH' ) . ".zip"; // 最终生成的文件名(含路径)

// 生成文件

$zip = new ZipArchive (); // 使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释

if ($zip->open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) {

exit ( '无法打开文件,或者文件创建失败' );

}

//$fileNameArr 就是一个存储文件路径的数组 比如 array('/a/1.jpg,/a/2.jpg....');

 

foreach ( $fileNameArr as $val ) {

$zip->addFile ( $val, basename ( $val ) ); // 第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下

}

$zip->close (); // 关闭

//下面是输出下载;

header ( "Cache-Control: max-age=0" );

header ( "Content-Description: File Transfer" );

header ( 'Content-disposition: attachment; filename=' . basename ( $filename ) ); // 文件名

header ( "Content-Type: application/zip" ); // zip格式的

header ( "Content-Transfer-Encoding: binary" ); // 告诉浏览器,这是二进制文件

header ( 'Content-Length: ' . filesize ( $filename ) ); // 告诉浏览器,文件大小

@readfile ( $filename );//输出文件;

关于php实现打包下载的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php实现打包下载 php打包phar的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did197502
更新时间:2023-04-26   阅读:27次

上一篇: php做成软件系统 系统php开发软件

下一篇:php跑程序慢mysql php与mysql高性能开发

相关资讯

最新资料更新

  • 1.php交叉报表 ureport 交叉报表
  • 2.php微信推送提醒 php主动推送消息到安卓
  • 3.php接收tcp数据 php tcp udp
  • 4.php网络通信 php通信协议
  • 5.PHP外部引用样式 php引用外部文件
  • 6.php查询数组找到 php查找数组元素
  • 7.php框架开发教程 php系统开发框架
  • 8.php有类似cmap 与php类似的语言
  • 9.bashphp的简单介绍
  • 10.主流php框架比较 php框架排行2020
  • 11.php中catch的简单介绍
  • 12.php中文注释乱码 php注释语句
  • 13.qbapi.php的简单介绍
  • 14.零基础php模板 php0基础教程
  • 15.字符串对齐方法php php字符串赋值
  • 16.php课堂系统 php网课系统
  • 17.php实现频率限制 php限制频繁访问
  • 18.学php学什么专业 学php可以干什么工作
  • 19.php5.2cgi的简单介绍
  • 20.phpcrc-itu的简单介绍

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]