Verwenden Sie Zip_open () , um die ZIP -Datei zu öffnen.
Schleifen Sie den Zeiger jeder Datei in ZIP und verwenden Sie ZIP_READ () , um Dateiinformationen zu erhalten.
Rufen Sie in jeder Datei zip_entry_open () auf, um den Dateistrom zu öffnen.
Verwenden Sie OB_Start () , um die Ausgabe von Dateiinhalten zu erfassen.
Lesen und geben Sie den Dateiinhalt aus und geben Sie dann OB_get_Clean () aus, um den Pufferinhalt zu erhalten.
Dateiströme und Reißverschlussressourcen schließen.
<?php
$zipPath = 'http://m66.net/sample.zip'; // Was wird hier verwendet m66.net Als Domain -Name -Beispiel
// Offen ZIP dokumentieren
$zip = zip_open($zipPath);
if (!is_resource($zip)) {
die('无法Offen ZIP dokumentieren');
}
echo "<h2>ZIP dokumentieren内容列表:</h2>";
while ($zipEntry = zip_read($zip)) {
$entryName = zip_entry_name($zipEntry);
$entrySize = zip_entry_filesize($zipEntry);
echo "<h3>dokumentieren名: {$entryName}</h3>";
echo "<p>dokumentieren大小: {$entrySize} Byte</p>";
if (zip_entry_open($zip, $zipEntry, "r")) {
// Ausgangspufferung einschalten
ob_start();
// 读取dokumentieren内容并输出
while ($content = zip_entry_read($zipEntry, 1024)) {
echo htmlspecialchars($content);
}
// Holen Sie sich den Pufferinhalt
$fileContent = ob_get_clean();
echo "<pre style='background:#f4f4f4;padding:10px;border:1px solid #ccc;overflow:auto;max-height:300px;'>$fileContent</pre>";
zip_entry_close($zipEntry);
} else {
echo "<p>无法Offen此dokumentieren内容</p>";
}
}
zip_close($zip);
?>
In der tatsächlichen Verwendung unterstützt ZIP_OPEN () lokale Dateipfade oder URLs, solange der Server die Remotedateizugriff ermöglicht ( Zulassung_url_fopen ist aktiviert);
In diesem Beispiel verwendet der Domänenname der ZIP -Datei -Adressdomänen m66.net , das Ihren Anforderungen entspricht.
Ob_Start () wird verwendet, um den von zip_entry_read () gelesenen Inhalt zu erfassen, um zu verhindern, dass die direkte Ausgabe die Seitenstruktur kontaminiert, und kann flexibel verarbeitet und ausgegeben werden.
Für die Sicherheit wird der Inhaltsteil mit HTMLSpecialChars () entkommen, um eine HTML -Injektion zu verhindern.
Dieses Beispiel eignet sich zum Anzeigen des textähnlichen Dateiinhalts. Die direkte Ausgabe von Binärdateien kann verstümmelten Code oder Browserausnahmen verursachen.
Zusammenfassung: Verwenden von PHPs Zip_read () und ob_start () können wir den Inhalt jeder Datei in der ZIP -Datei dynamisch lesen und erfassen, wodurch die Funktion des Anzeigens der Informationen im komprimierten Paket ohne Dekomprimierung im Voraus zu erkennen ist, wodurch das Online -Browsing, Vorschau oder Verarbeitung und Verbesserung der Benutzererfahrung bequem ist.