Comunidad de diseño web y desarrollo en internet online

Listar Carpetas en un Array [php]

Citar            
MensajeEscrito el 08 Jul 2006 04:15 pm

Código :

<?php
      //$rDir=2  listara los directorios
      //$rDir=1 listara pero no mostrara su contenido
      //$rDir=0 no listara ni mostrara su contenido 
      function read_dir($dir, $rDir = 0){
         if (!is_dir($dir)){
            return false;
         }
         $cDir = dir ($dir); //cDir = current dir;
         $dirname = " ".dir_name($dir);
         $aDir[$dirname] = array();
         while (false !== ($file = $cDir->read())){
            if (($file != ".") && ($file !="..")){
               $isDir = is_dir($dir."/".$file);
               if (($isDir) && ($rDir==2)){
                  $aDir[$dirname] = array_merge($aDir[$dirname],read_dir($dir."/".$file, $rDir));
               } else if ( ($isDir) && ($rDir>0)){
                  $aDir[$dirname][$file] = array();
               } else if (!$isDir){
                  $aDir[$dirname][] = $file;
               }
            }
         }
         $cDir->close();
         return $aDir;
      }
      function dir_name ($dir){
         $dir = realpath($dir);
         $pos = strrpos($dir,"\\"); //Windows
         if ($pos === false){
            $pos = strrpos($dir,"/"); //Linux :)
         }
         $dir = substr($dir,$pos+1,strlen($dir)-$pos);
         return $dir;
      }
      echo "<pre>";
      print_r(read_dir("sofwtare/projects/",2));
      echo "</pre>";
?>


salida:

Código :

Array
(
    [ projects] => Array
        (
            [ classes] => Array
                (
                    [0] => FileManager.php
                    [1] => Prueba.as
                    [2] => User.php
                    [3] => Resumen.doc
                )

            [ CVS] => Array
                (
                    [0] => archivo.txt
                    [1] => nas.zip
                    [2] => Untitled-2.swf
                )

        )

)

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 10 Sep 2007 11:15 pm

paly666 escribió:

excelente script, ahora, supongamos que yo quisiera ordenar el arreglo (vector) de los directorios, como tendria que hacer?

Con sort(). Me sorprende que con términos tan técnicos y tan fashion cómo "vector" y "arreglo" no sepas esto XD.

Por Alan

470 de clabLevel

2 tutoriales

 

firefox
Citar            
MensajeEscrito el 03 May 2010 02:08 pm
Genial
Gracias por la ayuda, estoy tratando de armar un array con todos los archivos del server y a este asignarle una variable
para despues poner por ejemplo echo $variable[0] ; (en un loop claro)

me gustaria que me ayudes un poco no se si me explico

digamos que el array quede así:
[1] => fileData.dat
[2] => DropboxUploader.php
[3] => index.php
[4] =>images/pajaro.jpg
[5] => css/estilo.css

espero que me puedas ayudar...
exitos!

Por luxian

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Feb 2013 12:54 pm
Hola, muchas gracias por el aporte.

He colocado el primer código en un archivo index.php en el directorio que deseo listar, pero no me mostró el contenido del mismo sino que queda como un documento en blanco, no sé qué estaré haciendo mal.

La segunda parte de código (salida) debo utilizarla en otro archivo aparte o en el mismo? dónde o cómo se incluye?

Gracias y disculpas por ser tan novato jajaja

Saludos!

Por marmur

20 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.