Foros del Web » Programando para Internet » PHP »

Como leo el contenido de una carpeta?

Estas en el tema de Como leo el contenido de una carpeta? en el foro de PHP en Foros del Web. Se puede leer el contenido de una carpeta, y que cada archivo o carpeta dentro de la misma vaya a parar a un array? Saludos!...
  #1 (permalink)  
Antiguo 01/10/2003, 18:04
 
Fecha de Ingreso: junio-2002
Mensajes: 126
Antigüedad: 15 años, 5 meses
Puntos: 0
Como leo el contenido de una carpeta?

Se puede leer el contenido de una carpeta, y que cada archivo o carpeta dentro de la misma vaya a parar a un array?

Saludos!
  #2 (permalink)  
Antiguo 01/10/2003, 18:29
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
mira este ejemplo..

Código PHP:

<html>

<head>
<title>Web Development Luxembourg</title>
</head>

<body bgcolor="#ffffff" text="#000000" link="#006090" alink="#006090" vlink="#006699">

<font face="Arial" size="5" color="#006090"><center><b>Web Development Luxembourg -
phpDir v2.4</b></center><br></font>

<table align="center" cellpadding="0" cellspacing="0" border="0">

<tr>
  <td height="25" bgcolor="#006699"><img src="space.gif"></td>
  <td width="400" height="25" bgcolor="#006699" valign="middle"><b><font face="Arial"
size="2" color="#ffffff">?File Name?</font></b></td>
  <td width="100" height="25" bgcolor="#006699" valign="middle"><b><font face="Arial"
size="2" color="#ffffff">?File Size?</font></b></td>
  <td height="25" bgcolor="#006699"><img src="space.gif"></td>
</tr>

   <font face="Arial" size="1">

<?php

$temp        
=    getenv"QUERY_STRING");
$dir_name    =    "$temp";

if(
$dir_name == ""$dir_name "e:/server/Apache2/htdocs/";
 
$handle=opendir($dir_name);

while (
$file readdir($handle)) {
  
$filelst "$filelst,$file";
}
closedir($handle);
$filelist explode(",",$filelst);
sort($filelist);

for (
$count=1;$count<count($filelist);$count++) {
 print 
" <tr>\n";
 
$filename=$filelist[$count];
 
$file_path "$dir_name/$filename";
 
$filesize filesize($file_path);
 if (
is_file($file_path)) {
  echo 
"  <td height=\"25\" bgcolor=\"#006699\"><img src=\"space.gif\"></td>\n";
  echo 
"  <td width=\"400\" height=\"25\" valign=\"middle\"><font face=\"Arial\" size=\"2
\">?<a href=\"$dir_name/$filename\"><img src=\"f.gif\" width=\"20\" height=\"20\"
border=\"0\"></a>?<a href=\"$dir_name/$filename\">$filename</font></a></td>\n"
;
  echo 
"  <td width=\"100\" height=\"25\" valign=\"middle\"><font face=\"Arial\" size=\"2
\">?$filesize bytes?</font></td>\n"
;
  echo 
"  <td height=\"25\" bgcolor=\"#006699\"><img src=\"space.gif\"></td>\n";
 }
 elseif((
$filename != ".") && ($filename != "..")) {
  echo 
"  <td height=\"25\" bgcolor=\"#006699\"><img src=\"space.gif\"></td>\n";
  echo 
"  <td width=\"400\" height=\"25\" valign=\"middle\"><font face=\"Arial\" size=\"2
\">?<a href=\"$dir_name/$filename\"><img src=\"o.gif\" width=\"20\" height=\"20\"
border=\"0\"></a>?<a href=\"$dir_name/$filename\">$filename</font></a></td>\n"
;
  echo 
"  <td width=\"100\" height=\"25\" valign=\"middle\"><font face=\"Arial\" size=\"2
\">?<DIR>?</font></td>\n"
;
  echo 
"  <td height=\"25\" bgcolor=\"#006699\"><img src=\"space.gif\"></td>\n";
 }
 print 
" </tr>\n\n";
}
?>
</font>

<tr>
  <td colspan="4" bgcolor="#006699"></td>
</tr>

</table>

<p align=center>
<font face="Arial" size="1">
  All Content is ? 1999, <a href="http://www.webdev.lu/">Web Development
Luxembourg</a>.<br>
  Created and Designed by <a href="mailto:[email protected]">Laroche David</a>.
</font>
</p>

</body>
</html>
__________________
3w.valenciadjs.com
3w.laislatv.com
  #3 (permalink)  
Antiguo 01/10/2003, 19:18
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 15 años, 10 meses
Puntos: 6
errrrrrrrrrr diablo....que lio :-p
__________________
www.dataautos.com
  #4 (permalink)  
Antiguo 02/10/2003, 05:30
 
Fecha de Ingreso: septiembre-2003
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Si te parece un lio el anterior prueba con esto,


<?php
$handle=opendir('.');
echo "Directory handle: $handle\n";
echo "Files:\n";
while ($file = readdir($handle)) {
echo "$file\n";
}
closedir($handle);
?>

Espero que te sirva de ayuda.

Un saludo
  #5 (permalink)  
Antiguo 02/10/2003, 16:31
 
Fecha de Ingreso: junio-2002
Mensajes: 126
Antigüedad: 15 años, 5 meses
Puntos: 0
Gracias!
Ahora tengo otro inconveninte. ¿Como distingo entre un carpeta y un archivo? Se podria hacer porque las carpetas no tienen extensión?

Saludos!
  #6 (permalink)  
Antiguo 03/10/2003, 05:05
 
Fecha de Ingreso: septiembre-2003
Mensajes: 11
Antigüedad: 14 años, 2 meses
Puntos: 0
Tienes la funcion filetype (string filename)
Con lo que obtienes lo que necesitas.

(Devuelve el tipo de fichero. Valores posibles son fifo, char, dir, block, link, file, y unknown.)

Espero que sea lo que buscas.

Un saludo.
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 05:35.