本文目录一览:
- 1、php 如何把文件夹及文件夹下面的所有文件打包成压缩包,在页面上用户点击下载按钮即可下载到本地?
- 2、php导出excel表后,打包成压缩包,然后下载到本地如何实现?
- 3、php如何实现两个文件先压缩成一个压缩包然后下载
- 4、下载一个zip文件 怎么用php实现
- 5、php 上传RAR压缩文件,在页面中有个“点击下载”的连接,点击则下载此文件
php 如何把文件夹及文件夹下面的所有文件打包成压缩包,在页面上用户点击下载按钮即可下载到本地?
一般不会下载的时候重新打包,因为php打包是一个非常消耗资源的过程。
使用php zip 打包,然后记录包的路径,下载的时候直接下载该路径文件即可。
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如何实现两个文件先压缩成一个压缩包然后下载
$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 );//输出文件;
下载一个zip文件 怎么用php实现
wnload.php 文件部分, 根据自己的需要修改一下 //---------------------- 中间的部分即可
?php
class zipfile {
var $datasec = array ();
var $ctrl_dir = array ();
var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00";
var $old_offset = 0;
function unix2_dostime($unixtime = 0){
$timearray = ($unixtime == 0) ? getdate () : getdate($unixtime);
if ($timearray ['year'] 1980){
$timearray ['year'] = 1980;
$timearray ['mon'] = 1;
$timearray ['mday'] = 1;
$timearray ['hours'] = 0;
$timearray ['minutes'] = 0;
$timearray ['seconds'] = 0;
}
return (($timearray ['year'] - 1980) 25) | ($timearray ['mon'] 21) | ($timearray ['mday'] 16) | ($timearray ['hours'] 11) | ($timearray ['minutes'] 5) | ($timearray ['seconds'] 1);
}
function add_file($data, $name, $time = 0){
$name = str_replace('\\', '/', $name);
$dtime = dechex($this-unix2_dostime($time));
$hexdtime = '\x' . $dtime [6] . $dtime [7] . '\x' . $dtime [4] . $dtime [5] . '\x' . $dtime [2] . $dtime [3] . '\x' . $dtime [0] . $dtime [1];
eval('$hexdtime = "' . $hexdtime . '";');
$fr = "\x50\x4b\x03\x04";
$fr .= "\x14\x00";
$fr .= "\x00\x00";
$fr .= "\x08\x00";
$fr .= $hexdtime;
$unc_len = strlen($data);
$crc = crc32($data);
$zdata = gz......一帆风顺吉星到 万事如意福临门 财源广进
php 上传RAR压缩文件,在页面中有个“点击下载”的连接,点击则下载此文件
html
a href="download.php?id=xxx"/a
download.php
?php
$id = $_GET['id'];
$sql="SELECT `name`,`path` FROM `table` WHERE `id`='$id'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
if(file_exists($row['path'])){
$file = fopen($row['path'], 'r');
header('Content-Type: application/octet-stream');
header('Accept-Ranges: bytes');
header('Accept-Length: '.filesize($row['path']));
header('Content-Disposition: attachment; filename='.$row['name']);
echo fread($file, filesize($row['path']));
fclose($file);
}else{
echo '指定的文件不存在';
}
?