您的位置:

php压缩包并自动下载,php 压缩

本文目录一览:

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 '指定的文件不存在';

}

?