Aktueller Standort: Startseite> Neueste Artikel> [Detaillierte Erläuterung der vollständigen Methode zur Änderung von Dateiattributen in ZIP -komprimierten Paketen nach PHP]

[Detaillierte Erläuterung der vollständigen Methode zur Änderung von Dateiattributen in ZIP -komprimierten Paketen nach PHP]

M66 2025-06-10

Einführung in PHP Ziparchive

Ziparchive ist eine Erweiterungsbibliothek, die von PHP zur Manipulation komprimierter Dateien im ZIP -Format bereitgestellt wird. Dadurch können wir die Eigenschaften von Dateien im komprimierten Paket erstellen, lesen, aktualisieren und sogar ändern, z. B. Dateiberechtigungen und Änderungszeit.

Laden Sie das komprimierte Paket und initialisieren Sie das Objekt

Vor der Operation müssen Sie ein ziparchives Objekt instanziieren und die Ziel -ZIP -Datei laden:

 
$zip = new ZipArchive();
$zip->open('example.zip');

Lesen Sie die ursprünglichen Eigenschaften komprimierter Dateien

Sie können mit der StatusIndex () -Methode detaillierte Attributinformationen einer Datei im komprimierten Paket wie Dateinamen, Originalgröße, Änderungszeit und Berechtigungen erhalten:

 
$fileIndex = 0; // Angenommen, die Zieldatei befindet sich in der ersten Indexposition im komprimierten Paket
$fileInfo = $zip->statIndex($fileIndex);

echo "Dateiname: " . $fileInfo['name'] . "\n";
echo "Dateigröße vor der Komprimierung: " . $fileInfo['size'] . " Byte\n";
echo "Letzte modifizierte Zeit: " . date('Y-m-d H:i:s', $fileInfo['mtime']) . "\n";
echo "Berechtigungen: " . $fileInfo['external'] . "\n";

Ändern Sie Dateiattribute: Berechtigungen und Zeitstempel

Verwenden Sie die Methode SetExternalAttributeIndex (), um die Eigenschaften von Dateien im komprimierten Paket einschließlich Berechtigungen und Änderungenzeiten zu ändern. Das Folgende sind die spezifischen Betriebsmethoden:

 
$newPermissions = 0777; // 设置为最高Berechtigungen
$newModifiedTime = time(); // Auf die aktuelle Zeit einstellen

$zip->setExternalAttributesIndex($fileIndex, ($newPermissions << 16) | ($newModifiedTime & 0xFFFF));

// Überprüfen Sie erneut, ob die Attributänderung wirksam wird
$fileInfo = $zip->statIndex($fileIndex);
echo "修改后的文件Berechtigungen: " . $fileInfo['external'] . "\n";
echo "修改后的Letzte modifizierte Zeit: " . date('Y-m-d H:i:s', $fileInfo['mtime']) . "\n";

Speichern Sie das Reißverschluss und schließen Sie das Objekt

Denken Sie nach Abschluss der Eigenschaftsänderung daran, die Methode Close () aufzurufen, um die Änderungen zu speichern und die Ressourcen zu veröffentlichen:

 
$zip->close();

Zusammenfassen

Mit Hilfe der Ziparchive -Erweiterung von PHP können wir die Eigenschaften von Dateien im ZIP -komprimierten Paket leicht ändern, einschließlich Lesen und Einstellen von Dateiberechtigungen, letzter Änderungszeit und anderen Schlüsselmetadaten. Lesen Sie die ursprünglichen Attribute über statIndex , aktualisieren Sie die Informationen mithilfe von setExternalAttributesIndex und vervollständigen Sie das Speichern mit Schließung und erledigen Sie die Betriebsaufgabe der Komprimierung von Dateien einfach.