Foros del Web » Programando para Internet » PHP »

Problema para entender un código

Estas en el tema de Problema para entender un código en el foro de PHP en Foros del Web. Podríais ayudarme a comprender este trocito de script? Código PHP: if ( $gestor  =  opendir ( 'files/ciencies' )) {     echo  "<ul>" ;     while ( false  !== ( $arch  =  ...
  #1 (permalink)  
Antiguo 26/12/2009, 11:24
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Problema para entender un código

Podríais ayudarme a comprender este trocito de script?

Código PHP:
if ($gestor opendir('files/ciencies')) {

    echo 
"<ul>";

    while (
false !== ($arch readdir($gestor))) {

       if (
$arch != "." && $arch != "..") {
                  

           echo 
"<li><a href=\"files/ciencies/".$arch."\">".$arch."</a></li>\n";
                   
                   

       }

    }

    
closedir($gestor);

    echo 
"</ul>";


Es que hay cosas como el false ! que no logro comprender

Gracias ;)
  #2 (permalink)  
Antiguo 26/12/2009, 11:47
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problema para entender un código

Supongo que el 1er if() se entiende, o se interpreta....

En esta parte se pregunta si false es DISTINTO (!==) de lo que devuelve readdir($gestor):

Código PHP:
Ver original
  1. while (false !== ($arch = readdir($gestor)))

Seria lo mismo que preguntar

Código PHP:
Ver original
  1. while ($arch = readdir($gestor))

O sea, "mientras halla archivos por leer en el directorio, haz lo siguiente...". Esta funcion lo que hace es leer 1 por 1 los archivos que hay en tal directorio, cuando llega al ultimo, devuelve false porque ya no hay mas para leer, entonces se rompe el ciclo.


luego lo que se imprime es un link hacia cada archivo, con el nombre del mismo
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 26/12/2009, 15:29
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema para entender un código

Gracias por explicarmelo, ahora lo entiendo perfectamente =)
  #4 (permalink)  
Antiguo 26/12/2009, 16:44
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Problema para entender un código

Holas,

Esta parte:

Código PHP:
Ver original
  1. while (false !== ($arch = readdir($gestor))) {


Como dijo jackson666, seria asi:

Código PHP:
Ver original
  1. while ($arch = readdir($gestor))


Y es que esa parte que colocan $arch = readdir($gestor) el resultado se evalua con false

Buen detalle de jackson666.


Saludos
Gildus
__________________
.: Gildus :.
  #5 (permalink)  
Antiguo 27/12/2009, 04:34
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema para entender un código

Siento ser tan tarugo
pero tampoco logro comprender esto

Código PHP:
if ($arch != "." && $arch != "..") {
                  

           echo 
"<li><a href=\"files/ciencies/".$arch."\">".$arch."</a></li>\n"
Es que me estoy iniciando en esto del PHP, haciendo mi propia web, pero al llegar a este punto para poder subir archivos tuve que buscar un tutorial, i claro no es tan facil como si te lo explican poco a poco.

Gracias
  #6 (permalink)  
Antiguo 27/12/2009, 14:17
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
De acuerdo Respuesta: Problema para entender un código

Cita:
Iniciado por jackson666 Ver Mensaje
... O sea, "mientras halla archivos por leer en el directorio, haz lo siguiente...". Esta funcion lo que hace es leer 1 por 1 los archivos que hay en tal directorio, cuando llega al ultimo, devuelve false porque ya no hay mas para leer, entonces se rompe el ciclo.


luego lo que se imprime es un link hacia cada archivo, con el nombre del mismo
Holas como te menciono jackson666, es justo esa parte que mencionas de tu codigo.

Creo que tienes que darte una vuelta por las secciones de HTML de este foro porque alli tambien hay tutoriales, si ese es el problema o duda en HTML pero si es en PHP tambien lo hay en la seccion de tutoriales o FAQs. Pero en que parte mas exacta no se entiende??, lo operadores?, o lo que se imprime (el echo).


Saludos
Gildus
__________________
.: Gildus :.
  #7 (permalink)  
Antiguo 27/12/2009, 20:48
Avatar de Vitesse92  
Fecha de Ingreso: diciembre-2009
Ubicación: Internet
Mensajes: 145
Antigüedad: 14 años, 4 meses
Puntos: 5
Respuesta: Problema para entender un código

Código PHP:
if ($arch != "." && $arch != "..") {
                  

           echo 
"<li><a href=\"files/ciencies/".$arch."\">".$arch."</a></li>\n"
pues..simplemente dice que si el archivo es distinto de "." y tambien distinto de ".." se imprimira "<li><a href=\"files/ciencies/".$arch."\">".$arch."</a></li>\n"
yap?
pasa es que los directorios, tienen archivos u referencias ( es que no se que son ) que la funcion opendir las toma con los nombres ". " y ".." pero en realidad no son archivos...
espero haber ayudado en algo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:10.