Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2015, 14:14
xaxu_the_kid
Usuario no validado
 
Fecha de Ingreso: junio-2011
Ubicación: Alicante
Mensajes: 4
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta Sacar variables de una función recursiva

Hola, soy nuevo en el foro, así que perdonan mi inexperiencia. Pero aun soy más inexperto en PHP

Tengo el siguiente código:

Código PHP:
//Verificamos que el directorio mp3's existe:
file_exists (MP3_DIR) or
    die (
"No se encuentra el directorio mp3's");
//Cambiamos al directoio de mp3's para poder usar los descriptores 
//de archivos de php 'filesize()' etc.
chdir (MP3_DIR) or
    die (
"No se ha seleccionado el directorio de mp3's");

    
$dir MP3_DIR;        
    
function 
lectura($dir)    {

    
//Leemos los archivos del directorio y lo volcamos en la matriz $files.
    
$files scandir ($dir);
    
//Trabajamos ahora con la matriz asociándola.
    
foreach ($files as $song)    {    
        return 
$song;
        
// Buscamos en los subdirectorios    
        
if (is_dir(MP3_DIR $song) && $song !="." && $song !=".." ){ 
               
//solo si el archivo es un directorio, distinto que "." y ".." 
               
$change chdir (MP3_DIR $song)
                       or die (
"No hemos cambiado al directorio $song");
                
$dir getcwd() . "\\"

              
//Ahora llamamos a leer dentro del nuevo directorio.    
              
lectura($dir);

        } 
        
//Desde aquí leemos los directorios dentro del segundo nivel, es decir, los sub directorios.    
        
if (is_dir($song)&& $song !="." && $song !=".." )    {
                
//Si depués de volver a leer encontramos que existen nuevos directorios.
                //Lo volvemos a leer encajando la nueva ruta.        
                
lectura($dir $song);
        }
  } 
}


//aquí llamamos a la función.
$song lectura($dir); 
echo 
$song
Y sólo me imprime el primer valor leído --> "." y quisiera que se pasaran todos los valores para poder filtrarlos.

¿Cómo debo hacer para que la función me devuelva todos los valores leídos?

Muchas Gracias por vuestra ayuda.