(PHP 5 >= 5.2.0, PECL zip >= 1.5.0)
ZipArchive::locateName — Retourne l'index d'une entrée de l'archive
$name
[, int $flags
] )Localise une entrée en utilisant son nom.
name
Le nom de l'entrée à chercher
flags
La fonction retourne l'index du fichier dans l'archive. Le flag est spécifié par les valeurs suivantes ou par 0 pour aucun d'entre eux.
ZipArchive::FL_NOCASE
ZipArchive::FL_NODIR
Retourne l'index de l'entrée en cas de succès ou FALSE
si une erreur survient.
Exemple #1 Crée une archive et l'utilise avec ZipArchive::locateName()
<?php
$file = 'testlocate.zip';
$zip = new ZipArchive;
if ($zip->open($file, ZipArchive::CREATE) !== TRUE) {
exit('failed');
}
$zip->addFromString('entry1.txt', 'entry #1');
$zip->addFromString('entry2.txt', 'entry #2');
$zip->addFromString('dir/entry2d.txt', 'entry #2');
if (!$zip->status == ZipArchive::ER_OK) {
echo "échec lors de l'écriture ZIP\n";
}
$zip->close();
if ($zip->open($file) === TRUE) {
exit('échec');
}
echo $zip->locateName('entry1.txt') . "\n";
echo $zip->locateName('eNtry2.txt') . "\n";
echo $zip->locateName('eNtry2.txt', ZipArchive::FL_NOCASE) . "\n";
echo $zip->locateName('enTRy2d.txt', ZipArchive::FL_NOCASE|ZIPARCHIVE::FL_NODIR) . "\n";
$zip->close();
?>
L'exemple ci-dessus va afficher :
0 1 2