Cet article présente brièvement comment afficher directement les images ou les fichiers dans le package compressé ZIP sans le décompresser en PHP. La méthode est très simple et utilise principalement les fonctions de la série Zip File et la fonction base64_encode en PHP. utile à tout le monde. Inspiré
Tout le monde devrait connaître la méthode de base pour utiliser le fichier de package compressé ZIP avec PHP (si vous ne savez pas, vous pouvez apprendre les bases méthode d'exploitation de ZIP avec PHP en bas de cet article), alors comment lire directement les fichiers du package compressé sans le décompresser, comme par exemple afficher directement les images du package compressé sur la page ?
Ce qui suit vous montrera comment afficher directement les fichiers image dans le package compressé sans décompresser
$zip_path = '12.zip';//压缩包实际路径 $zip = zip_open($zip_path);//利用zip_open函数打开压缩包 while ($re = zip_read($zip)) {//读依次读取包中的文件 if (!zip_entry_filesize($re)) break;//如果文件大小为0退出操作 $entry_zp = zip_entry_open($zip,$re,'rb');//读取包中文件 $ext = pathinfo(zip_entry_name ($re),PATHINFO_EXTENSION);//获取图片文件扩展名 $buf = zip_entry_read($re,zip_entry_filesize($re));//读取文件二进制数据 echo sprintf('<img src="data:image/%s;base64,%s">', $ext, base64_encode($buf));//利用base64_encode函数转换读取到的二进制数据并输入输出到页面中 zip_entry_close($re);//关闭打开的压缩包中的文件 } zip_close($zip);//关闭压缩包文件
L'essentiel de ce code est d'utiliser base64_encode pour convertir les données binaires du fichier image en données d'image Base64 lisibles par le navigateur
Remarque : Lorsque vous utilisez les fonctions de la série ZIP FILE de PHP, veuillez confirmer que la bibliothèque d'extensions php_zip.dll a été activée dans votre fichier PHP.ini et s'il existe php_zip.dll dans le dossier ext du répertoire d'installation de PHP (j'ai utilisé le système Windows). Si php_zip.dll n'existe pas, vous pouvez vous rendre sur le site officiel du package d'extension PECL PHP suivant pour l'obtenir
Adresse du site officiel du package d'extension PECL PHP : http://pecl.php.net/package/zip
Choisissez le package compressé correspondant à votre version de PHP ;
Sous Windows, vous pouvez directement glisser-déposer le fichier php_zip.dll du package compressé vers le dossier ext du répertoire d'installation de PHP
Le système Linux doit être compilé. Modifiez ensuite le fichier de configuration PHP
Joignez les fonctions de base du fichier Zip d'exploitation PHP
函数 | 描述 | PHP |
---|---|---|
zip_close() | 关闭 ZIP 文件。 | 4 |
zip_entry_close() | 关闭 ZIP 文件中的一个项目。 | 4 |
zip_entry_compressedsize() | 返回 ZIP 文件中的一个项目的被压缩尺寸。 | 4 |
zip_entry_compressionmethod() | 返回 ZIP 文件中的一个项目的压缩方法。 | 4 |
zip_entry_filesize() | 返回 ZIP 文件中的一个项目的实际文件尺寸。 | 4 |
zip_entry_name() | 返回 ZIP 文件中的一个项目的名称。 | 4 |
zip_entry_open() | 打开 ZIP 文件中的一个项目以供读取。 | 4 |
zip_entry_read() | 读取 ZIP 文件中的一个打开的项目。 | 4 |
zip_open() | 打开 ZIP 文件。 | 4 |
zip_read() | 读取 ZIP 文件中的下一个项目。 | 4 |
Analyse détaillée d'exemples d'implémentation de la fonction d'enregistrement en 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!