Foros del Web » Programando para Internet » PHP »

Mostrar archivos

Estas en el tema de Mostrar archivos en el foro de PHP en Foros del Web. Hola Mi problema es que quiero mostrar solo archivos de una extencion determinada que esten en una carpeta de mi servidor Quiero que automaticamente se ...
  #1 (permalink)  
Antiguo 04/02/2010, 22:01
danneg
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Mostrar archivos

Hola

Mi problema es que quiero mostrar solo archivos de una extencion determinada que esten en una carpeta de mi servidor

Quiero que automaticamente se muestren los archivos sin que el usuariao haga nada

Gracias por adelantado y disculpen mi ortografia
  #2 (permalink)  
Antiguo 04/02/2010, 22:52
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Mostrar archivos

Hay muchos temas de eso ya en el foro, como estos.

Busca el que mejor se acomode a tus necesidades, adaptalo y, si aun tienes algun problema, muestra tu codigo y ya veremos de que manera se resuelve.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 04/02/2010, 22:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Mostrar archivos

Usa las funciones de filesystem de PHP para ello.

Saludos.
  #4 (permalink)  
Antiguo 07/02/2010, 17:21
danneg
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar archivos

excelente

mucha ayuda

pero yo solo quisiera encontrar una sola extencion en el directorio

y el directorio tiene archivos de diferente extencion

ademas de usar una carpeta destinada a un solo archivo, como le puedo hacer para solucionar mi problema, y me dio gusto saber de ti triby, jaja, siempre me ayudas

bueno aunn asi gracias espero me solucione mi proble
  #5 (permalink)  
Antiguo 07/02/2010, 18:08
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 3 meses
Puntos: 27
Respuesta: Mostrar archivos

Puedes probar con

http://www.php-es.com/function.pathinfo.html
http://docs.php.net/manual/en/function.pathinfo.php

Puede servirte.. es una opcion..

salu2
  #6 (permalink)  
Antiguo 07/02/2010, 18:33
danneg
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Respuesta: Mostrar archivos

a ok gracias

estube investigando un poco con el maestro google y encontre esto

en realida queria hacer un reproductor de radio online con un play list desde mi servidor

posteo el codigo para consultas futuras y gracias

y si el codigo esta mal diganme

Código PHP:
<?php
 
       $dir 
'directory_of_mp3_files';
       
$file_type 'mp3';
 
       
$play_list '<?xml version=\'1.0\' encoding=\'UTF-8\' standalone=\'yes\'?>';
       
$play_list .= "<playlist>";
 
       
// Open directory, read contents and add to file_list if correct file_type
       
if (is_dir($dir)) {
          if (
$dh opendir($dir)) {
             while ((
$file readdir($dh)) !== false) {
                if (
$file != '.' && $file != '..') {
                   
$name_array explode('.'$file);
 
                   
// if file has .mp3 extension
                   
if ($name_array[1] == $file_type) {
                      
$play_list .= '<song>';
                      
$file "$dir/$file";
                      
$play_list .= '<file>' $file '</file>';
                      
$mp3 fopen($file"r");
                       
fseek($mp3, -128SEEK_END);
                       
$tag fread($mp33);
 
                       
// if id3 tag is found...
                       
if ($tag == "TAG") {
                          
$play_list .= '<title>' trim(fread($mp330)) . '</title>';
                          
$play_list .= '<artist>' trim(fread($mp330)) .'</artist>';
 
                       
// if no id3 tag...
                       
} else {
                          
$play_list .= '<title>unknown title</title>';
                          
$play_list .= '<artist>unknown artist</artist>';
                       }
 
                       
// close file
                       
fclose($mp3);
                       
$play_list .= '</song>';
                   }
                }
             }
 
             
// close directory
             
closedir($dh);
             
$play_list .= '</playlist>';
 
             
// echo the xml file
             
echo "$play_list";
          }
       }
 
    
?>
  #7 (permalink)  
Antiguo 08/02/2010, 07:00
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 3 meses
Puntos: 27
Respuesta: Mostrar archivos

Si sos el unico que sube los archivos, estaria bien.. pero si otros lo suben puede ocurrir que usen el "." como separador en ves de espacio por ejemplo

Código:
http://www.tuweb.com/list/archivo.de.musica.mp3
Ahi creo que tomara mal debido aque el primer "." no es el que le corresponde a la extension.

Puedes probar tambien agregarle el strpos

Aqui un Ejemplo

Código PHP:
Ver original
  1. Por último, con strpos localizamos el inicio de una subcadena dentro de una cadena:
  2.  
  3. <?php
  4. echo "<pre>";
  5. $cadena = "[email protected]";
  6. $subcadena = "@";
  7.  
  8. $inicio_dominio = strpos ($cadena, $subcadena);
  9.  
  10. echo $inicio_dominio; // 4
  11. echo "<br>";
  12. $dominio = substr ($cadena, ($inicio_dominio+1));
  13. echo $dominio; // imaginary.com
  14.  
  15. echo "</pre>";
  16. ?>

Fuente: http://www.ignside.net/man/php/strings2.php

Aunque puede haber otras maneras..
Como por ejemplo usando el que te expuse mas arriba y con el STRPOS le preguntas si la extension es el que tu quieres.

Ejemplo

Código PHP:
Ver original
  1. $partes_ruta = pathinfo('http://www.tuweb.com/mp3/archivo.de.musica.mp3');
  2.  
  3. echo $partes_ruta['dirname'] . "\n"; //Imprime http://www.tuweb.com/mp3
  4. echo $partes_ruta['basename'] . "\n"; //Imprime archivo.de.musica.mp3
  5. echo $partes_ruta['extension'] . "\n"; //Imprime mp3
  6.  
  7. //Entonces
  8. if (!strpos($partes_ruta['extension'], "mp3")) {
  9.     echo "El tipo de archivo no es correcto.";
  10. }else{
  11.     echo "Ok. Continuemos xD.";
  12. }

Es sencillo, pero creo que funcionara, y ahi ya no dependera de como este estipulado su nombre del archivo, puede ser que haya otras formas, pero creo que este como dije, sirve..

salu2
  #8 (permalink)  
Antiguo 08/02/2010, 18:08
danneg
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar archivos

Pues gracias

Y sí, solo yo subire archivos

Y pues a tu solucion, igual me plantie el problema y cree una funcion que reemplaza todos los caracteres especiales por un guio bajo, no se, me parecio mas practico pero estudiare mas a fondo tu alternativa

Gracias
  #9 (permalink)  
Antiguo 08/02/2010, 18:24
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Mostrar archivos

Para obtener la extension despues del explode solo necesitas la funcion end().
__________________
- León, Guanajuato
- GV-Foto
  #10 (permalink)  
Antiguo 08/02/2010, 21:09
danneg
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar archivos

@triby esto es segun a el problema planteado por @vicram10?

Cual seria su sintaxis?

Supongo que seria despues de pasar por cadenas separadas por los puntos y con end() extraer la ultima la cual seria la extencion

O estoy mal?
  #11 (permalink)  
Antiguo 08/02/2010, 22:28
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Mostrar archivos

Hola, prueba con esto.

Código PHP:
<?php 
$dir
=  'directory_of_mp3_files/';
$mp3Dir glob("$dir{*.mp3,*.MP3}"GLOB_BRACE);
//----------
print_r($mp3Dir);
echo 
'<br /><br />';
//demo
for($i 0$i <count($mp3Dir); $i++){
echo 
$mp3Dir[$i].'<br />';
}
 
?>
http://us3.php.net/manual/en/function.glob.php
__________________
╬-----╬
║☺₧☻║
╬-----╬

Última edición por thezzin; 08/02/2010 a las 22:36
  #12 (permalink)  
Antiguo 09/02/2010, 11:21
danneg
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mostrar archivos

A ok ya vi la sintaxis de end()

Y la otra alternativa tambien me funciono bien

Gracias

Etiquetas: Ninguno
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 02:43.