Foros del Web » Programando para Internet » PHP »

Configurar la lista de archivos de un directorio.

Estas en el tema de Configurar la lista de archivos de un directorio. en el foro de PHP en Foros del Web. Hola amigos, como andan? Les comento.. yo tengo el siguiente codigo: Código PHP: <?php // Note que !== no existia hasta 4.0.0-RC2 if ( $gestor  =  opendir ( './mp3s' )) {    echo  "Mp3s:<br><br>\n" ; ...
  #1 (permalink)  
Antiguo 12/08/2006, 15:29
 
Fecha de Ingreso: junio-2002
Ubicación: Uruguay
Mensajes: 427
Antigüedad: 21 años, 10 meses
Puntos: 0
Pregunta Configurar la lista de archivos de un directorio.

Hola amigos, como andan?
Les comento.. yo tengo el siguiente codigo:

Código PHP:
<?php
// Note que !== no existia hasta 4.0.0-RC2

if ($gestor opendir('./mp3s')) {
   echo 
"Mp3s:<br><br>\n";

   
/* Esta es la forma correcto de iterar sobre el directorio. */
   
while (false !== ($archivo readdir($gestor))) {
       echo 
"<a href=\"mp3s/$archivo\">$archivo</a><br>";
   }

   
/* Esta es la forma EQUIVOCADA de iterar sobre el directorio. */
   
while ($archivo readdir($gestor)) {
       echo 
"<a href=\"mp3s/$archivo\">$archivo</a><br>";
   }

   
closedir($gestor);
}
?>
Ese codigo hace una lista de todos los archivos del directorio "mp3s" con un hipervinculo a los archivos. Hasta ahi perfecto.

Lo que necesito ahora, es si alguien me puede ayudar a configurarlo para que cuando me liste todos los archivos me aparezca:
1) Sin la extension del archivo pero cuando le ponga el hipervinculo si salga con la extension.
2) Solo muestre archivos .mp3 en el directorio.
3) Que tenga un include, osea que pueda entrar a mp3s.php?letra=C y me muestre los archivos del directorio ./mp3s/C/

Ejemplo, que se liste asi (solo mp3s y del directorio /Mp3s/R):
Rodrigo - Cancion. (hipervinculado a "Rodrigo - Cancion.mp3")
Ruben - Difusion. (hipervinculado a "Ruben - Difusion.mp3")

Muchisimas gracias a los expertos en php ;) hace dias q intento y no puedo hacerlo =( graciass a todos amigos
  #2 (permalink)  
Antiguo 12/08/2006, 17:04
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 18 años, 10 meses
Puntos: 2
1) Para sacarle la extencion te bastaria con un explode().

2) Para que muestre solo los archivos mp3's tambien lo puedes verificar con el explode. Lo ultimo (sobre el link) te lo dejo a ti, solo debes aplicar un poco de mania.

3) Estudia mas a fondo las funciones que estas usando e investiga en el manual las diferentes funciones para el manejo de directorios y archivos.

Saludos y suerte.
  #3 (permalink)  
Antiguo 12/08/2006, 18:29
 
Fecha de Ingreso: junio-2002
Ubicación: Uruguay
Mensajes: 427
Antigüedad: 21 años, 10 meses
Puntos: 0
Tengo conocimientos basicos de PHP Dario... gracias por responder, pero no lo puedo aplicar por mi mismo.

Si algun experto sabe y me puede dar una mano.... me ayudaria mucho.

Saludos amigos ;)
  #4 (permalink)  
Antiguo 12/08/2006, 22:42
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
lo que dario intenta decir es que... nadien hara el codigo por ti.....
en www.php.net estan las funciones para manejar archivos y directorios....

usa las funciones y experimenta con el codigo si tienes dudas en el codigo, plantealo y te ayudaremos pero no esperes que te pongan el codigo desde cero.

saludos!
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #5 (permalink)  
Antiguo 13/08/2006, 00:10
(Desactivado)
 
Fecha de Ingreso: febrero-2005
Ubicación: Azcapotzalco
Mensajes: 299
Antigüedad: 19 años, 2 meses
Puntos: 2
Acceder solo los archivos de un directorio con determinada extension y ademas mostrar un link hacia ellos. Ademas los ordeno alfabeticamente
Código:
<?

$carpeta = 'directorio/';

if($manejador = opendir($carpeta)){

	while (false !== ($file = readdir($manejador))) {
		
		$ext = substr($file,-4);

		if ( $ext == '.mp3' ) {
			$files[] = substr($file,0,-4);
		}
	}

	sort($files);

	foreach ($files as $nombre){
		echo '<a href="'.$nombre.'.mp3">'.$nombre.'</a><br/>';
	}

}

?>
  #6 (permalink)  
Antiguo 13/08/2006, 13:27
 
Fecha de Ingreso: junio-2002
Ubicación: Uruguay
Mensajes: 427
Antigüedad: 21 años, 10 meses
Puntos: 0
Muchas gracias xp64! funciono perfecto.. me solucionaste mucho!.

Miren el ejemplo q estoy haciendo: http://usuarios.lycos.es/paraloscumbieros/ineditos.htm (tiene frame)

El codigo es:
Código PHP:
<?
        
if(!isset($letra)){ //si la variable esta vacia 
    
$ver=""
}
?>
<center><h2>Ineditos letra <? echo $letra?>:</h2></center><br><br>
<?

$carpeta 
'./mp3s/';

if(
$manejador opendir($carpeta)){

    while (
false !== ($file readdir($manejador))) {
        
        
$ext substr($file,-4);

        if ( 
$ext == '.mp3' ) {
            
$files[] = substr($file,0,-4);
        }
    }

    
sort($files);

    foreach (
$files as $nombre){
        echo 
'<a href="'.$carpeta.''.$nombre.'.mp3">'.$nombre.'</a><br/>';
    }

}

?>
Hasta ahi perfecto ! ;) ahora solo me falta 1 cosa..

Ese script me muestra todos los mp3s con hipervinculo de la carpeta "/mp3s" pero necesito q me muestre mediante "http://usuarios.lycos.es/paraloscumbieros/verineditos.php?letra=b" los mp3s de la carpeta "/mp3s/b".
Para eso puse como pudieron ver en el codigo, un codigo que muestra la letra inicial, pero como hago para ponerlo en mi codigo para listar archivos? intente muchas cosas para hacerlo funcionar, pero no pude.. alguien me puede ayudar?

Saludos! ;) gracias (este es el mejor foro para webmasters ;))

Última edición por elanime; 13/08/2006 a las 13:32
  #7 (permalink)  
Antiguo 13/08/2006, 13:49
(Desactivado)
 
Fecha de Ingreso: febrero-2005
Ubicación: Azcapotzalco
Mensajes: 299
Antigüedad: 19 años, 2 meses
Puntos: 2
Código:
$carpeta = './mp3s/'.$_GET['letra'];
  #8 (permalink)  
Antiguo 13/08/2006, 18:33
 
Fecha de Ingreso: junio-2002
Ubicación: Uruguay
Mensajes: 427
Antigüedad: 21 años, 10 meses
Puntos: 0
Amigo xp64 te agradezco mucho!!!! sos un maestrooo ;)

Gracias por todo.. me funciona perfecto y tal cual necesitaba... saludos a todos ;)
  #9 (permalink)  
Antiguo 17/09/2006, 08:11
 
Fecha de Ingreso: mayo-2006
Mensajes: 86
Antigüedad: 18 años
Puntos: 0
Cita:
Iniciado por xp64 Ver Mensaje
Acceder solo los archivos de un directorio con determinada extension y ademas mostrar un link hacia ellos. Ademas los ordeno alfabeticamente
Código:
<?
 
$carpeta = 'directorio/';
 
if($manejador = opendir($carpeta)){
 
    while (false !== ($file = readdir($manejador))) {
 
        $ext = substr($file,-4);
 
        if ( $ext == '.mp3' ) {
            $files[] = substr($file,0,-4);
        }
    }
 
    sort($files);
 
    foreach ($files as $nombre){
        echo '<a href="'.$nombre.'.mp3">'.$nombre.'</a><br/>';
    }
 
}
 
?>

Me ha servido mucho este sencillo código (gracias, gracias), pero no he sabido como hacer para que tambien liste la fecha del fichero y el tamaño

¿Que tendría que modificar?

Ya se que es bastante básico, pero no he sabido solucionarlo.

Luis
  #10 (permalink)  
Antiguo 17/09/2006, 08:41
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Para el tamaño -> FileSize -> http://cl2.php.net/manual/en/function.filesize.php

Para la fecha... ->

http://cl2.php.net/manual/es/function.fileatime.php
http://cl2.php.net/manual/es/function.filectime.php
http://cl2.php.net/manual/es/function.filemtime.php

Nos vemos =)
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 16:43.