Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für eine PHP-Online-Paket-Download-Funktion

Beispiel für eine PHP-Online-Paket-Download-Funktion

高洛峰
高洛峰Original
2016-12-20 15:22:321242Durchsuche

Das Beispiel in diesem Artikel beschreibt, wie die PHP-Online-Paket-Download-Funktion implementiert wird. Ich möchte es Ihnen als Referenz mitteilen:

Gestern Abend war ich sehr damit beschäftigt, diese Sache zu packen und herunterzuladen. Es gibt mehrere Probleme, das erste ist das Problem beim Starten von PHP_ZIP.dll. Mit anderen Worten: Entfernen Sie einfach das „;“-Zeichen vor „extend_dir“ in PHP.INI. Starten Sie einfach IIS oder Apache neu.

Das Problem besteht darin, dass die vom System konfigurierte echte PHP.INI nicht gefunden werden kann.

Beispiel für eine PHP-Online-Paket-Download-Funktion

PHP-Konfigurationsdiagramm

Das zweite zeigt Ihnen den Pfad des Konfigurationsdokuments, klicken Sie einfach darauf und finden Sie es. Mein Kopf drehte sich und ich verschwendete viel Zeit.

Nachdem Sie die PHP_ZIP-Erweiterungsbibliothek geöffnet haben, können Sie mit dem Packen und Herunterladen beginnen.

$filename= date("YmdHis");
$zip = new ZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
$zip->open($filename.".zip", ZipArchive::OVERWRITE); //$data 就是从数据库里面读出的数字
foreach( $data as $val){
   $attachfile = "E:\bysj\bysj".$val['fileaddr'].$val['filename']; //写硬路径,但建议用PHP环境变量
   $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");

Der obige Code kann grundsätzlich das Packen und Herunterladen von Dokumenten implementieren und auch das Problem lösen, dass chinesische Dokumente nicht gepackt und heruntergeladen werden können.

Ich hoffe, dass dieser Artikel für alle hilfreich ist, die sich mit PHP-Programmierung befassen.

Weitere Artikel zu PHP-Online-Paket-Download-Funktionsbeispielen finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn