php - recursivo - encontrar archivos en un directorio
comando find ubuntu (5)
Esta es una de las muestras del manual
http://nz.php.net/manual/en/function.readdir.php
<?php
if ($handle = opendir(''.'')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo "$file/n";
}
}
closedir($handle);
}
?>
puedes modificar ese código para probar el nombre del archivo para ver si comienza con pic_1_ usando algo como esto
if (substr($file, 0, 6) == ''pic_1_'')
Referencia manual para substr
Tengo un directorio con muchos archivos dentro:
pic_1_79879879879879879.jpg
pic_1_89798798789798789.jpg
pic_1_45646545646545646.jpg
pic_2_12345678213145646.jpg
pic_3_78974565646465645.jpg
etc...
Necesito enumerar solo los pic_1_ archivos. ¿Alguna idea de cómo puedo hacer? Gracias por adelantado.
Esto es para lo que es glob () :
glob - Encuentra las rutas que coinciden con un patrón
Ejemplo:
foreach (glob("pic_1*.jpg") as $file)
{
echo $file;
}
La función opend dir te ayudará
$dir ="your path here";
$filetoread ="pic_1_";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (strpos($file,$filetoread) !== false)
echo "filename: $file : filetype: " . filetype($dir . $file) . "/n";
}
closedir($dh);
}
}
buena suerte, vea php.net opendir
Usa la función glob ()
foreach (glob("directory/pic_1_*") as $filename) {
echo "$filename";
}
Simplemente cambie el directory
en la llamada global a la ruta correcta.
Esto lo hace todo de una vez en vez de tomar la lista de archivos y luego filtrarlos.