Maison  >  Article  >  développement back-end  >  Comment télécharger plusieurs fichiers en php

Comment télécharger plusieurs fichiers en php

巴扎黑
巴扎黑original
2018-05-15 10:51:006979parcourir

Cet article présente principalement l'exemple de code d'empaquetage et de téléchargement multi-fichiers PHP. L'éditeur pense que c'est plutôt bon. Maintenant, je vais le partager avec vous et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil.

J'ai récemment trié les documents et trouvé un exemple de code pour l'empaquetage et le téléchargement de plusieurs fichiers php, je l'ai un peu trié et simplifié pour le partage.

Lorsque plusieurs fichiers doivent être téléchargés en même temps, la plupart des navigateurs ne prennent pas en charge les téléchargements multiples de fichiers en même temps. Les scripts JavaScript peuvent être utilisés pour générer dynamiquement plusieurs liens, mais l'utilisateur doit le faire. cliquez plusieurs fois sur la boîte de dialogue de téléchargement. L'expérience n'est pas bonne et certains navigateurs ne sont pas encore compatibles. À l’heure actuelle, plusieurs téléchargements de packages de fichiers peuvent vous aider à résoudre ce problème.

$filename = "test.zip";
$datalist=array('./pubfile/1.jpg','./pubfile/2.jpg');
if(!file_exists($filename)){
 $zip = new ZipArchive();
 if ($zip->open($filename, ZipArchive::CREATE)==TRUE) {
  foreach( $datalist as $val){
   if(file_exists($val)){
    $zip->addFile( $val, basename($val));
   }
  }
  $zip->close();
 }
}
if(!file_exists($filename)){
 exit("无法找到文件");
}
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);

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