Dans PHP, les fonctions des fichiers zip sont généralement gérées à l'aide de zip_open () , zip_read () et zip_entry_read () . Ils nous permettent d'ouvrir un fichier zip, de parcourir les entrées de fichier et de lire le contenu du fichier. Cet article utilisera un exemple complet pour expliquer comment utiliser ces trois fonctions pour lire un fichier zip.
zip_open ($ nom de fichier)
Ouvrez un fichier zip et renvoyez une poignée de ressources.
zip_read ($ zip)
Lisez l'entrée suivante dans le fichier zip et renvoyez une ressource d'entrée zip.
zip_entry_read ($ entrée, $ length)
Lisez le contenu dans l'entrée ZIP et lisez le nombre maximum d'octets spécifiés.
zip_entry_name ($ entrée)
Obtient le nom de fichier de l'entrée ZIP actuelle.
zip_close ($ zip)
Fermez la ressource de fichier zip.
L'exemple suivant montre comment ouvrir un fichier zip, traverser tous les fichiers à l'intérieur et sortir le contenu du navigateur:
<?php
// ZIPChemin de fichier(Veuillez le remplacer par le chemin réel)
$zipFile = 'http://m66.net/path/to/your.zip';
// OuvrirZIPdocument
$zip = zip_open($zipFile);
if (!$zip || is_numeric($zip)) {
die("无法OuvrirZIPdocument");
}
echo "<h2>ZIPdocument内容列表:</h2>";
while ($entry = zip_read($zip)) {
// 获取当前document名
$fileName = zip_entry_name($entry);
echo "<h3>document名: $fileName</h3>";
// OuvrirZIPentrée
if (zip_entry_open($zip, $entry)) {
$fileSize = zip_entry_filesize($entry);
$content = '';
// 按块读取document内容(Le plus à chaque fois1024octet)
while ($data = zip_entry_read($entry, 1024)) {
$content .= $data;
}
// Fermez le courantZIPentrée
zip_entry_close($entry);
// 输出document内容(Voici une sortie simple dans le texte,Notez que les données binaires peuvent être incluses)
echo "<pre>" . htmlspecialchars($content) . "</pre>";
} else {
echo "无法Ouvrirdocumententrée: $fileName<br>";
}
}
// fermetureZIPdocument
zip_close($zip);
?>
zip_open () prend en charge les chemins de fichier locaux et les URL distantes prennent en charge les paramètres ALLOT_URL_FOPEN qui dépendent de PHP. Si l'ouverture à distance échoue, il est recommandé de télécharger localement le fichier zip avant de fonctionner.
Lors de la lecture du contenu des fichiers binaires, la sortie directe peut entraîner des exceptions de code ou de page brouillé. Il est recommandé de traiter les données selon les besoins.