Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/04/2005, 07:42
Avatar de Torus
Torus
 
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 22 años, 3 meses
Puntos: 0
Pregunta la funcion glob()

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
__________________
Hay tanto que aprender y tan poco tiempo