PHP在線打包下載功能示例
本文實例講述了PHP在線打包下載功能實現(xiàn)方法。分享給大家供大家參考,具體如下:
昨天晚上,為了弄這個打包下載的事,弄的事焦頭爛額。有幾個問題,第一個是開始PHP_ZIP.dll的問題。話說只要把PHP.INI里面的extend_dir里面的前的”;”號去掉。再重啟IIS或者apache就可以了。
問題是老是找不到系統(tǒng)配置的真正的PHP.INI。
PHP配置圖
第二個是告訴你配置文檔的路徑,按著找就可以了。我當時腦袋秀逗了,浪費了很多時間。
這個開啟PHP_ZIP擴展庫以后,就可以開始打包下載了。
$filename= date("YmdHis"); $zip = new ZipArchive();//使用本類,linux需開啟zlib,windows需取消php_zip.dll前的注釋 $zip->open($filename.".zip", ZipArchive::OVERWRITE); //$data 就是從數(shù)據(jù)庫里面讀出的數(shù)字 foreach( $data as $val){ $attachfile = "E:\bysj\bysj".$val['fileaddr'].$val['filename']; //寫硬路徑,但建議用PHP環(huán)境變量 $attachfile=iconv("UTF-8","GBK",$attachfile); //轉碼,是打包中文文檔的關鍵 $zip->addFile( $attachfile , basename($attachfile)); //壓棧 } $zip->close();//關閉 header("Content-type:text/html;charset=utf-8");//設置頁面編號 header("Cache-Control: public"); 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");
上面的代碼基本就可以實現(xiàn)文檔打包下載了,也解決了中文文檔無法打包下載的問題。
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php文件操作總結》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網(wǎng)絡編程技巧總結》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
php 的加密函數(shù) md5,crypt,base64_encode 等使用介紹
php 在做注冊、登錄或是url 傳遞參數(shù)時都會用到 字符變量的加密,下面我們就來簡單的介紹下:php 自帶的加密函數(shù)2012-04-04php根據(jù)一個給定范圍和步進生成數(shù)組的方法
這篇文章主要介紹了php根據(jù)一個給定范圍和步進生成數(shù)組的方法,涉及php針對數(shù)組的遍歷技巧,需要的朋友可以參考下2015-06-06PHP中 empty() 和 isset() 的區(qū)別介紹
作為PHP中經(jīng)常用來判斷變量是否為空的函數(shù):empty()和isset() ,二者其實在很多方面還是存在區(qū)別的,本文將為大家詳細介紹一下他們的區(qū)別之處,需要的朋友可以了解一下2021-12-12php使用str_replace替換多維數(shù)組的實現(xiàn)方法分析
這篇文章主要介紹了php使用str_replace替換多維數(shù)組的實現(xiàn)方法,結合具體實例對比分析了php針對多維數(shù)組的遍歷與替換操作相關實現(xiàn)技巧與注意事項,需要的朋友可以參考下2017-06-06