Foros del Web » Programando para Internet » PHP »

Alguien me puede ayudar

Estas en el tema de Alguien me puede ayudar en el foro de PHP en Foros del Web. Hola que tal? bueno esto es una pequeña parte de codigo para leer el contenido de una carpeta. Me podeis decir alguien q significa esto: ...
  #1 (permalink)  
Antiguo 02/06/2003, 06:05
 
Fecha de Ingreso: junio-2002
Mensajes: 77
Antigüedad: 15 años, 5 meses
Puntos: 0
Alguien me puede ayudar

Hola que tal? bueno esto es una pequeña parte de codigo para leer el contenido de una carpeta.

Me podeis decir alguien q significa esto:
Código PHP:
 $dir opendir($Directorio);
  echo (
"<table>");
  while (
$file readdir($dir)) { 
    if (
$file!="." && $file!="..") { /*esto de aki del ".." y el "."*/

        
    
$dir opendir($Directorio);    
      echo 
"<a href=\"modules.php?name=$module_name&amp;file=/uploads/$resto\">$resto</a><br>";
    }
  } 
  echo (
"</table>"); 
y ademas a ver si me podeis ayudar solo quiero q lea archivos y no ficheros se que es con las funciones de is_file y is_dir pero no me sale, muchas gracias
  #2 (permalink)  
Antiguo 02/06/2003, 06:23
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

. : entrada especial dentro de un directorio para referenciarse a si mismo en una ruta relativa. Por ejemplo, pp/pp.php es igual que ./pp/pp.php

.. : entrada especial dentro de un subdirectorio para referenciar al padre de ese subdirectorio. Por ejemplo, si estamos dentro del subdirectorio hh dentro del subdirectorio pp, para acceder a un fichero dentro del subdirectorio pp, podemos hacer ../pp.php.

Sobre saber si es un fichero o un directorio, en otro post se te ha dicho que uses is_file() o is_dir(). Miralos en el manual. Y si no te sale, di exactamente lo que haces y que te falla.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 02/06/2003, 06:40
 
Fecha de Ingreso: junio-2002
Mensajes: 77
Antigüedad: 15 años, 5 meses
Puntos: 0
Hago esto exactamente:

Código PHP:
$dir opendir($Directorio);
  echo (
"<table>");
  while (
$file readdir($dir)) { 
if(!
is_file($file){ /* esto de aki es lo que hago*/

    
if ($file!="." && $file!="..") { /*esto de aki del ".." y el "."*/

        
    
$dir opendir($Directorio);    


      echo 
"<a href=\"modules.php?name=$module_name&file=/uploads/$resto\">$resto</a><br>";
    }
  } 
}
  echo (
"</table>"); 
El problema es que me aparecen tanto ficheros como directorios
  #4 (permalink)  
Antiguo 02/06/2003, 06:54
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Bueno, el problema es que is_file() necesita que le pases la ruta al fichero y readdir devuelve solo el nombre del fichero, sin la ruta. Prueba con:
Código PHP:
if(!is_file($Directorio.$file)){ 
Asi le pasas la ruta completa concatenando el nombre del directorio al nombre del fichero. Esto funciona si $Directorio acaba en /. Sino, usa:
Código PHP:
if(!is_file($Directorio.'/'.$file)){ 
Para comprobarlo, haz un echo $Directorio.'/'.$file; para ver si lo muestra en el formato correcto.

Por cierto, creo que te sobra el opendir() de dentro del bucle.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 02/06/2003, 09:53
 
Fecha de Ingreso: junio-2002
Mensajes: 77
Antigüedad: 15 años, 5 meses
Puntos: 0
Muchisimas gracias Josemi sale de las dos formas q me has dicho
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 20:03.