Maison >développement back-end >Problème PHP >Comment implémenter le téléchargement de compression par lots en php

Comment implémenter le téléchargement de compression par lots en php

王林
王林original
2021-10-13 17:25:311953parcourir

Méthode php pour implémenter les téléchargements par compression par lots : [

Comment implémenter le téléchargement de compression par lots en php

L'environnement d'exploitation de cet article : système windows10, php 7, ordinateur thinkpad t480.

En php, nous pouvons utiliser la classe ZipArchive pour compresser, empaqueter et télécharger des fichiers par lots.

Remarque :

Avant d'utiliser cette classe, zlib doit être activé sous Linux et décommenté devant php_zip.dll sous Windows.

Ce qui suit est un exemple simple de compression d'un fichier au format zip.

<?php 
$filename=&#39;test.zip&#39;; //最终生成的文件名(含路径) 
if(file_exists($filename)){ 
    unlink($filename); 
} 
//重新生成文件 
$zip=new ZipArchive(); 
if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){ 
    exit(&#39;无法打开文件,或者文件创建失败&#39;); 
} 
$datalist=array(&#39;try.php&#39;,&#39;zip_class.php&#39;); 
foreach($datalist as $val){ 
    if(file_exists($val)){ 
        $zip->addFile($val); 
    } 
} 
$zip->close();//关闭 
if(!file_exists($filename)){ 
    exit(&#39;无法找到文件&#39;); //即使创建,仍有可能失败 
}

Remarques :

//向压缩包中添加文件(addFile的第二参数表示,替换的名称,若不写则按照前面的命名,当然如果是带目录,在压缩包中也会生成一个文件夹)
$zip->addFile("./down.php","testfromfile.php");
$zip->addFile(&#39;img/images-3.jpg&#39;,&#39;new.jpg&#39;);
echo "numfiles: " . $zip->numFiles . "\n";
echo "status:" . $zip->status . "\n";

Apprentissage recommandé : formation php

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