Ziparchive est une bibliothèque d'extension fournie par PHP pour manipuler des fichiers compressés au format zip. Grâce à lui, nous pouvons créer, lire, mettre à jour et même modifier les propriétés des fichiers dans le package compressé, tels que les autorisations de fichiers et le temps de modification.
Avant l'opération, vous devez instancier un objet ziparchive et charger le fichier zip cible:
$zip = new ZipArchive();
$zip->open('example.zip');
Vous pouvez utiliser la méthode statIndex () pour obtenir des informations d'attribut détaillées d'un fichier dans le package compressé, tels que le nom de fichier, la taille d'origine, le temps de modification et les autorisations:
$fileIndex = 0; // Supposons que le fichier cible est dans la première position d'index dans le package compressé
$fileInfo = $zip->statIndex($fileIndex);
echo "nom de fichier: " . $fileInfo['name'] . "\n";
echo "Taille du fichier avant compression: " . $fileInfo['size'] . " octet\n";
echo "Dernière heure modifiée: " . date('Y-m-d H:i:s', $fileInfo['mtime']) . "\n";
echo "Autorisation: " . $fileInfo['external'] . "\n";
Utilisez la méthode setExternalAttributesIndex () pour modifier les propriétés des fichiers dans le package compressé, y compris les autorisations et le temps de modification. Voici les méthodes de fonctionnement spécifiques:
$newPermissions = 0777; // 设置为最高Autorisation
$newModifiedTime = time(); // Réglé à l'heure actuelle
$zip->setExternalAttributesIndex($fileIndex, ($newPermissions << 16) | ($newModifiedTime & 0xFFFF));
// Vérifiez à nouveau si la modification de l'attribut prend effet
$fileInfo = $zip->statIndex($fileIndex);
echo "修改后的文件Autorisation: " . $fileInfo['external'] . "\n";
echo "修改后的Dernière heure modifiée: " . date('Y-m-d H:i:s', $fileInfo['mtime']) . "\n";
Après avoir terminé la modification de la propriété, n'oubliez pas d'appeler la méthode Close () pour enregistrer les modifications et libérer les ressources:
$zip->close();
À l'aide de l'extension Ziparchive de PHP, nous pouvons facilement modifier les propriétés des fichiers dans le package ZIP compressé, y compris la lecture et la définition des autorisations de fichiers, le dernier temps de modification et d'autres métadonnées clés. Lisez les attributs d'origine via StatIndex , mettez à jour les informations à l'aide de setExternalAttributesIndex et complétez la sauvegarde avec clôture , et complétez facilement la tâche de fonctionnement des fichiers de compression.