(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0)
ZipArchive::locateName — Devuelve el índice de la entrada en el archivo
$name
[, int $flags
] )Localiza una entrada utilizando su nombre.
name
El nombre de la entrada a buscar
flags
Los indicadores son especificados agregándoles OR a los siguientes valores, ó 0 para ninguno de ellos.
ZipArchive::FL_NOCASE
ZipArchive::FL_NODIR
Devuelve el índice de la entrada en caso de tener éxito, o FALSE
en caso de error.
Ejemplo #1 Crear un archivo y luego utilizarlo con ZipArchive::locateName()
<?php
$file = 'testlocate.zip';
$zip = new ZipArchive;
if ($zip->open($file, ZipArchive::CREATE) !== TRUE) {
exit('falló');
}
$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 "falló al escribir en el archivo zip\n";
}
$zip->close();
if ($zip->open($file) !== TRUE) {
exit('falló');
}
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();
?>
El resultado del ejemplo sería:
El ejemplo de arriba mostrará la salida: 0 1 2