(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)
ZipArchive::locateName — Gibt den Index eines Archiveintrags zurück
$name
[, int $flags
] ) : intLokalisiert einen Eintrag unter Verwendung seines Namens.
nameDer Name des Eintrags, nach dem gesucht werden soll.
flagsDie Funktion gibt den Index der Datei namens fname im Archiv zurück. Die Flags können miteinander kombiniert werden, soll keines davon genutzt werden, sollte 0 verwendet werden.
ZipArchive::FL_NOCASE
ZipArchive::FL_NODIR
Gibt im Erfolgsfall den Index eines Eintrags zurück. Im Fehlerfall wird FALSE zurückgegeben.
Beispiel #1 Ein Archiv erstellen und es mit locateName verwenden
<?php
$file = 'testlocate.zip';
$zip = new ZipArchive;
if ($zip->open($file, ZipArchive::CREATE) !== TRUE) {
exit('Fehler');
}
$zip->addFromString('eintrag1.txt', 'Eintrag #1');
$zip->addFromString('eintrag2.txt', 'Eintrag #2');
$zip->addFromString('dir/eintrag2d.txt', 'Eintrag #2');
if (!$zip->status == ZipArchive::ER_OK) {
echo "Fehler beim Schreiben des ZIP\n";
}
$zip->close();
if ($zip->open($file) !== TRUE) {
exit('Fehler');
}
echo $zip->locateName('eintrag1.txt') . "\n";
echo $zip->locateName('eiNtrag2.txt') . "\n";
echo $zip->locateName('eiNtrag2.txt', ZipArchive::FL_NOCASE) . "\n";
echo $zip->locateName('einTRag2d.txt', ZipArchive::FL_NOCASE|ZipArchive::FL_NODIR) . "\n";
$zip->close();
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
0 1 2