Maison >développement back-end >tutoriel php >Comment implémenter la fonction de téléchargement de packages en ligne en PHP

Comment implémenter la fonction de téléchargement de packages en ligne en PHP

墨辰丷
墨辰丷original
2018-06-01 09:18:441898parcourir

Cet article présente principalement la méthode d'implémentation de la fonction de téléchargement de packages PHP en ligne et analyse le processus d'implémentation et les précautions associées au téléchargement de packages PHP sous forme d'exemples. Les amis dans le besoin peuvent s'y référer

Hier soir. , afin de Cette question d'empaquetage et de téléchargement a causé beaucoup de problèmes. Il y a plusieurs problèmes, le premier est le problème de démarrage de PHP_ZIP.dll. En d'autres termes, supprimez simplement le signe ";" devant extend_dir dans PHP.INI. Redémarrez simplement IIS ou Apache.

Le problème est que le vrai PHP.INI configuré par le système est introuvable.

Schéma de configuration PHP

Le second vous indique le chemin du document de configuration, il suffit de cliquer et de le trouver. J’avais la tête qui tournait et j’ai perdu beaucoup de temps.

Après avoir ouvert la bibliothèque d'extensions PHP_ZIP, vous pouvez commencer à empaqueter et à télécharger.

$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");

Le code ci-dessus peut essentiellement implémenter l'empaquetage et le téléchargement de documents, et résout également le problème selon lequel les documents chinois ne peuvent pas être empaquetés et téléchargés.

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

PHPStrom Nouveau projet FTP et images et textes détaillés du fonctionnement en ligne

php La fonction de paiement du compte officiel de WeChat Pay

PHP implémente la fonction de téléchargement de fichiers via CURL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn