PHPはZipArchiveで指定ファイルをzipにパッケージしてユーザーにダウンロードさせる
4211 ワード
Ubuntuはzlibをインストールする必要があります
Windowsはphp_をオンにする必要がありますzip.dll
「...phpext」にこのファイルがなければ、ネット上でダウンロードできます.
それから「...phpphp.ini」を修正して、「extension=php_zip.dll」を見つけて「;」を取り除き、この仕事がなければ追加します.
sudo apt-get install ruby
sudo apt-get install zlib1g zlib1g.dev
Windowsはphp_をオンにする必要がありますzip.dll
「...phpext」にこのファイルがなければ、ネット上でダウンロードできます.
それから「...phpphp.ini」を修正して、「extension=php_zip.dll」を見つけて「;」を取り除き、この仕事がなければ追加します.
$filename = "xxxx.zip";
ob_end_clean();
$zip = new ZipArchive();
$zip->open($filename, ZipArchive::OVERWRITE);
while (xxxx)
{
if(strlen($row->team_upload) != 0)
{
$sitelen = strlen($row->team_upload);
$attachfile = xxxx// , PHP
$attachfile=iconv("UTF-8","GBK",$attachfile); // ,
$zip->addFile( $attachfile , basename($attachfile)); // zip
}
}
$zip->close();//
header('Content-Description: File Transfer');
Header("content-type:application/x-zip-compressed");
header('Content-Disposition: attachment; filename='.basename($filename));
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($filename));
ob_clean(); //
flush();
@readfile($filename);
@unlink($filename);// zip 。