Foros del Web » Programando para Internet » PHP »

mostrar último archivo

Estas en el tema de mostrar último archivo en el foro de PHP en Foros del Web. Amigos, tengo unos archivos mp3 que guardo en una carpeta y que se ordenan en base al año, mes y día, yo quisiera poder mostrar ...
  #1 (permalink)  
Antiguo 13/09/2011, 09:55
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 2 meses
Puntos: 8
De acuerdo mostrar último archivo

Amigos, tengo unos archivos mp3 que guardo en una carpeta y que se ordenan en base al año, mes y día, yo quisiera poder mostrar mi player sólamente con el último archivo puesto..... ¿cómo podría hacerlo?

Actualmente muestro todos los archivos ordenados desde el último ingreso hasta los más antiguos....

Código PHP:
<?php

$filter 
".mp3";

$directory=$_GET['music'];

@
$d dir($directory);
if (
$d) { 
    while(
$entry=$d->read()) {  
        
$ps strpos(strtolower($entry), $filter);
        if (!(
$ps === false)) {  
            
$items[] = $entry
        } 
    }
    
$d->close();
    
rsort($items);
}



// third, the playlist is built in an xspf format
// we'll first add an xml header and the opening tags .. 
header("content-type:text/xml;charset=utf-8");

echo 
"<?xml version='1.0' encoding='UTF-8' ?>\n";
echo 
"<playlist version='1' xmlns='http://xspf.org/ns/0/'>\n";
echo 
"    <title>Sample PHP Generated Playlist</title>\n";
echo 
"    <info>http://www.jeroenwijering.com/</info>\n";
echo 
"    <trackList>\n";

// .. then we loop through the mysql array ..
for($i=0$i<sizeof($items); $i++) {

$archivo=array_reverse(explode(".mp3",$items[$i]));
$archivo=$archivo[1];

    echo 
"        <track>\n";
    echo 
"            <annotation>".($i+1).". ".$archivo."</annotation>\n";
    echo 
"            <location>".$directory.'/'.$items[$i]."</location>\n";
    echo 
"            <info></info>\n";
    echo 
"        </track>\n";
}
 
// .. and last we add the closing tags
echo "    </trackList>\n";
echo 
"</playlist>\n";

?>
He intentado modificar en esta línea

Código PHP:
// .. then we loop through the mysql array ..
for($i=0$i<sizeof($items); $i++) { 
Pero no he tenido éxito,

saludos

  #2 (permalink)  
Antiguo 13/09/2011, 10:45
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: mostrar último archivo

fijate este link amiguito:
http://www.hackingballz.com/herramie...tion.stat.html
  #3 (permalink)  
Antiguo 13/09/2011, 10:49
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 9 meses
Puntos: 72
Respuesta: mostrar último archivo

Elimina la linea que declara el bucle for y obviamente la llave de cierre.

for($i=0; $i<sizeof($items); $i++) { }

Luego en las dos lineas donde se indicaba el indice del array mediante las iteraciones de bucle se debe indicar este directamente. Por ejemplo para indicar el primer archivo:

$archivo=array_reverse(explode(".mp3",$items[0]));
Y
echo " <location>".$directory.'/'.$items[0]."</location>\n";

Para indicar el último.

$cantidad= sizeof($items);
$archivo=array_reverse(explode(".mp3",$items[$cantidad-1]));
echo " <location>".$directory.'/'.$items[$cantidad-1]."</location>\n";

Tambien sera necesario modificar esta linea:

echo " <annotation>".($i+1).". ".$archivo."</annotation>\n";

eliminar $i quizá sea suficiente.
  #4 (permalink)  
Antiguo 13/09/2011, 12:00
Avatar de el_tigre  
Fecha de Ingreso: febrero-2006
Ubicación: Perú
Mensajes: 1.044
Antigüedad: 18 años, 2 meses
Puntos: 8
Respuesta: mostrar último archivo

lubtufano, amigo esto está excelente, me funcionó a full, tengo otra duda que tiene que ver con este mismo tema, si puedes echarme un cable o alguno de los que leen este tema puede ayudarme estaré muy agradecido.

Con los códigos anteriores lo que hago es mostrar el último archivo de una carpeta de esta manera:

Código PHP:
http://midominio.com/1.php?music=MiCarpeta 
pero ¿cómo sería si yo tengo varias carpetas que contienen mp3 y quiero mostrar unos 100 aleatóriamente? (no sé si debo crear un tema aparte)

Gracias por el interés.


Etiquetas: mysql
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 17:39.