Foros del Web » Programando para Internet » PHP »

ver directorio..

Estas en el tema de ver directorio.. en el foro de PHP en Foros del Web. hola, me ayudan...pleaseee... lo que nececito es un codigo que me muestre el contenido(archivos) de un directorio, y me los muestre en una tabla... y ...
  #1 (permalink)  
Antiguo 01/02/2004, 16:22
Avatar de Sebastian1046  
Fecha de Ingreso: junio-2003
Mensajes: 278
Antigüedad: 20 años, 10 meses
Puntos: 0
Pregunta ver directorio..

hola, me ayudan...pleaseee...
lo que nececito es un codigo que me muestre el contenido(archivos) de un directorio, y me los muestre en una tabla... y que cada ves qye se agrege un archivo en el directorio automaticamente crea otra tabla con el archivo... esto seria para que la gente pueda ver y descargar el contenido de una carpeta de mi sitio...
saludos muchachos y gracias de antemano...
PD: cualquier ayuda me sirve...
__________________
Agradesco infinitamente a toda la gente del foro que me ayudo/a.
  #2 (permalink)  
Antiguo 01/02/2004, 16:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Puedes usar las funciones de www.php.net/dir para recorrer el contenido de un directorio.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 01/02/2004, 16:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. puedes usar el objeto predefinido de PHP

dir()
www.php.net/dir

Ejemplos tienes ahí mismo ...

Y si quiers algún gestor de archivos más elaborado en PHP .. buscalo en: www.hotscripts.com

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 01/02/2004, 17:32
 
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago de Chile
Mensajes: 350
Antigüedad: 21 años, 4 meses
Puntos: 0
yo ocupo este código:

Código PHP:
<?
function CheckExt($filename$ext) {
$passed FALSE;
$testExt "\.".$ext."$";
if (
eregi($testExt$filename)) {
$passed TRUE;
}
return 
$passed;
}

//Define an array of common extensions.
$exts = array("exe","swf");
$dir opendir("TU_DIRECTORIO/");
$files readdir($dir);

while (
false !== ($files readdir($dir))) {
foreach (
$exts as $value) {
if (
CheckExt($files$value)) {
$quitar str_replace(".swf",""$files);
echo 
"<a href=\"TU_DIRECTORIO/$files\" class='tah11'>$quitar</a>\n";
echo 
"<br>";
$count++; //Keep track of the total number of files.
break; //No need to keep looping if we've got a match.
}
}

}

//Be a good script and clean up after yourself...
closedir($dir);

?>
  #5 (permalink)  
Antiguo 01/02/2004, 18:01
Avatar de Sebastian1046  
Fecha de Ingreso: junio-2003
Mensajes: 278
Antigüedad: 20 años, 10 meses
Puntos: 0
gracias por responder, pero el codigo no me funciona, lo modifique asi pero no muestra nada... fijense si esta bien lo que ise...

Código PHP:
<?
function CheckExt($filename$ext) {
$passed FALSE;
$testExt ".".$ext."$";
if (
eregi($testExt$filename)) {
$passed TRUE;
}
return 
$passed;
}

//Define an array of common extensions.
$exts = array("exe","swf" "html" "mp3" "wav" "voc" "txt" "php");
$dir opendir("store/");
$files readdir($dir);

while (
false !== ($files readdir($dir))) {
foreach (
$exts as $value) {
if (
CheckExt($files$value)) {
$quitar str_replace(".swf",""$files);
echo 
"<a href=\"store/$files\" class='tah11'>$quitar</a>\n";
echo 
"<br>";
$count++; //Keep track of the total number of files.
break; //No need to keep looping if we've got a match.
}
}

}

//Be a good script and clean up after yourself...
closedir($dir);

?>
__________________
Agradesco infinitamente a toda la gente del foro que me ayudo/a.
  #6 (permalink)  
Antiguo 01/02/2004, 18:22
Avatar de Sebastian1046  
Fecha de Ingreso: junio-2003
Mensajes: 278
Antigüedad: 20 años, 10 meses
Puntos: 0
ya me funciona...pero ahora tendria que ver como ponerlos dentro de tablas...veo si puedo hacerlo, si no pido ayuda...gracias..
__________________
Agradesco infinitamente a toda la gente del foro que me ayudo/a.
  #7 (permalink)  
Antiguo 02/02/2004, 09:57
 
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago de Chile
Mensajes: 350
Antigüedad: 21 años, 4 meses
Puntos: 0
debes modificar esta parte del codigo:

Código PHP:
echo "<a href=\"store/$files\" class='tah11'>$quitar</a>\n";
echo 
"<br>"
  #8 (permalink)  
Antiguo 02/02/2004, 10:12
Avatar de Sebastian1046  
Fecha de Ingreso: junio-2003
Mensajes: 278
Antigüedad: 20 años, 10 meses
Puntos: 0
si ya me habia dado cuenta.... (gracias igual)..

lo modifique de esta forma, mas que esto no me salio...

Código PHP:
echo "<table width='400' border='1' cellpadding='3' cellspacing='0' bordercolor=#666666 bgcolor=#FFFFFF align='center' style='font-family: Verdana; font-size: 11px'>";
echo 
"<tr><td width='350'><p align=center><font size=1 face=Tahoma><a href=\"upload/store/$files\" class='tah11'>$quitar</a>\n</tr>";
echo 
"<br>";
$count++; //Keep track of the total number of files.
break; //No need to keep looping if we've got a match.
}
}
}
//Be a good script and clean up after yourself...
closedir($dir);
echo 
"</table>"
despues tengo una duda con una linea...

Código PHP:
$quitar str_replace(".swf" ""$files); 
eso es para que le saque la extencion al archivo al mostrarlo, pero no se como puedo hacer para que se la saque a todos los archivos.. alguna ayuda?
__________________
Agradesco infinitamente a toda la gente del foro que me ayudo/a.

Última edición por Sebastian1046; 02/02/2004 a las 10:32
  #9 (permalink)  
Antiguo 02/02/2004, 17:42
Avatar de Sebastian1046  
Fecha de Ingreso: junio-2003
Mensajes: 278
Antigüedad: 20 años, 10 meses
Puntos: 0
no quiero ser pesado..pero...alguna ayuda?
__________________
Agradesco infinitamente a toda la gente del foro que me ayudo/a.
  #10 (permalink)  
Antiguo 03/02/2004, 02:53
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Fijate en el codigo HTML generado por tu script ("Ver->Codigo fuente" en tu navegador). Si te das cuenta, abres una tabla para cada fichero dentro del bucle, pero solo cierras una vez la tabla fuera del bucle. Estas creando HTML no valido. Y tampoco cierras el <tr> y <td>. Aclarate lo que quieres: muchas tablas o solo una tabla; muchas <tr> o solo una. Y mete solo dentro del bucle lo que se repite. Puedes hacer primero el HTML que quieres que resulte, y a partir de el, haces el PHP que lo genera.

Y sobre lo de quitar la extension, fijate el valor que tiene $value dentro de ese bucle donde se ejecuta el str_replace().

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #11 (permalink)  
Antiguo 05/02/2004, 12:37
Avatar de Sebastian1046  
Fecha de Ingreso: junio-2003
Mensajes: 278
Antigüedad: 20 años, 10 meses
Puntos: 0
lo de quitar la extension pude hacerlo, muchas gracias!
pero lo de las tablas no entiendo como es que hay que hacerlo, yo queria que se vea cada archivo en una tabla independiente, me pueden mostrar que modificaciones tengo que hacer?

Código PHP:
<?

include("variables.php");

function 
CheckExt($filename$ext) {
$passed FALSE;
$testExt ".".$ext."$";
if (
eregi($testExt$filename)) {
$passed TRUE;
}
return 
$passed;
}

$exts = array("swf""mp3" "txt" "wav" "voc" "exe" "zip" "pps" "pnj" "jpg" "gif" "bmp");
$dir opendir("upload/store/");
$files readdir($dir);

while (
false !== ($files readdir($dir))) {
foreach (
$exts as $value) {
if (
CheckExt($files$value)) {
$quitar str_replace(".$value" "" $files);
echo 
"<table width='404' border='1' align='center' cellpadding='3' cellspacing='0' bordercolor='#666666' bgcolor='#EAEAEA'>
  <tr>
    <td><table border='0' cellspacing='0' cellpadding='0' align='center'>
      <tr>
        <td><font size=1 face=Tahoma><a href='upload/store/$files' class='tah11'>$quitar</a>\n</font></td>
      </tr>
    </table></td>
  </tr>"
;
echo 
"<br>";
$count++; 
break; 
}
}

}

closedir($dir);

echo 
"</table>";
echo 
"<br>";
?>
ademas tengo un problema que no se si es por el error de las tablas, cuando no hay archivos en la carpeta me desarma el diseño de la pagina, debe ser por el error de las tablas..

gracias por su ayuda
__________________
Agradesco infinitamente a toda la gente del foro que me ayudo/a.
  #12 (permalink)  
Antiguo 05/02/2004, 17:38
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Fijate, estas abriendo el <table> dentro del while, con lo que si hay 16 ficheros, has creado 16 <table>. Pero solo sacas un </table>. Tendrias que hacer algo como:
Código PHP:

echo "<table width='404' border='1' align='center' cellpadding='3' cellspacing='0' bordercolor='#666666' bgcolor='#EAEAEA'>
"
;
while (
false !== ($files readdir($dir))) {

foreach (
$exts as $value) {

if (
CheckExt($files$value)) {

$quitar str_replace(".$value" "" $files);

echo 
"
  <tr>

    <td><table border='0' cellspacing='0' cellpadding='0' align='center'>

      <tr>

        <td><font size=1 face=Tahoma><a href='upload/store/$files' class='tah11'>$quitar</a>\n</font></td>

      </tr>

    </table></td>

  </tr>"
;

echo 
"<br>";

$count++; 

break; 

}

}



}



closedir($dir); 
Y el que se te descuadre sera posiblemente culpa del diseño HTML. Revisa el HTML generado.

Suerte-
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #13 (permalink)  
Antiguo 05/02/2004, 18:22
Avatar de Sebastian1046  
Fecha de Ingreso: junio-2003
Mensajes: 278
Antigüedad: 20 años, 10 meses
Puntos: 0
muchas gracias por mostrarmelo sobre el codigo, pero le agrege un </table> al final por que me funcionaba bien, pero ahora esta perfecto, gracias

aca agrege el /table

Código PHP:
break; 

}

}



}



closedir($dir);
echo
"</table>";
?> 
__________________
Agradesco infinitamente a toda la gente del foro que me ayudo/a.
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 04:45.