Hola a Tod@s:
Repasando el manual de PHP me he encontrado con la funcion glob() que para lo que yo pretendo me viene de "perlas".
El problema fue cuando cogiendo el ejemplo que trae el manual :
Código PHP:
<?php
function globr($sDir, $sPattern, $nFlags = NULL) {
$aFiles = glob("$sDir/$sPattern", $nFlags);
$files = getDir($sDir);
if (is_array($files)) {
foreach( $files as $file ) {
$aSubFiles = globr($file, $sPattern, $nFlags);
$aFiles = array_merge($aFiles,$aSubFiles);
}
}
return $aFiles;
}
function getDir($sDir) {
$i=0;
if(is_dir($sDir)) {
if($rContents = opendir($sDir)) {
while($sNode = readdir($rContents)) {
if(is_dir($sDir.'/'.$sNode )) {
if($sNode !="." && $sNode !="..") {
$aDirs[$i] = $sDir.'/'.$sNode ;
$i++;
}
}
}
}
}
return $aDirs;
}
?>
y poniendolo a funcionar de esta manera:
Código PHP:
$camino="/var/www/html/";
$buscar="index.php";
$nFlags="GLOB_BRACE";
globr($camino, $buscar, $nFlags);
Me da este error.
Warning: glob() expects parameter 2 to be long, string given in /var/www/html/panel/buscar.php on line 6
Si elimino la variable $nFlags funciona, como mi ingles es de "villadearriba" me tengo que conformar con la version en castellano (muy simplificada) y al darme ese error no puedo saber que hacen lo que llaman flags.
GLOB_BRACE Cita: Expande {a,b,c} para que coincida con 'a', 'b', o 'c'
esto entiendo que es que si pongo en la variable $buscar "ind" me devolvera todos los ficheros que contengan ind ¿no?.
GLOB_ONLYDIR Cita: Devuelve únicamente entradas de directorios que coinciden con el patrón
Se supone que sin este flag no devuelve los nombres de los directorios que contengan ind ni que se llamen index, pero si se pone ¿devuelve los directorios y los ficheros?.
Gracias por vuestra paciencia.
Un Saludo