Darse de alta en la web | Recuperar password   
Inicio / Desafios / PPT Playlist / Solucion de Tendenze

Desafío PPT Playlist

#3 Solución de Tendenze

Código de la Solución Ver código | Comentarios Ver comentarios (2) | Descargar Descargar código

Fecha: 19 diciembre 2003

Tamaño: 19912 caracteres

Comentarios: 2

Solución online:
Lo siento, pero no está disponible

Valoración PuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuaciónPuntuación 4.33 (3 votos)

No ha realizado ningún comentario

Valora esta solución

<?
session_register
("ruta");
echo
"<form name=form2 method=post action=pijada.php?modo=nueva_ruta><a class=baby12>Carpeta a explorar</a> <input name=definir_ruta type=text id=definir_ruta value=c:/ size=50><input name=enviar type=submit id=enviar value=Buscar></form>";
//definimos rutas
$ruta_winamp = "c:\archiv~1\winamp\winamp.exe";
//modo normal nos muestra los ficheros mp3
if($_GET[modo] == ''){
    
//llamamos a la funcion buscar mp3 q nos localiza los mp3 contenidos en una carpeta y sus subcarpetas
    
if($_SESSION[ruta] == ''){
        echo
"<a class=baby12>Introduce una ruta para buscar mp3</a>";
    }else{
        
$ruta = $_SESSION[ruta];
        echo
"<a class=baby12>Mp3 encontrados en $ruta</a><br>";
        
buscar_mp3($ruta);
        if(
count($a["total"]) != 0){
            
//ordenamos el resultado
            //sort($a);
    
            //y mostramos lista de canciones con sus checkbox para seleccionar las q reproduciremos
            
echo"<form action=pijada.php?modo=play method=post>";
            echo
"<a class=baby12>Seleccionar archivos a reproducir</a> <input type=submit name=play value=Play><br><br>";
            for(
$ii=0;$ii<=count($a["total"])-1;$ii++){
                
$ruta_total = $a["total"][$ii];
                
$nombre = $a["nombre_fichero"][$ii];
                
$artista = $a["$artist_fichero"][$ii];
                echo
"<input name=check_play[$ii] type=checkbox value=\"$ruta_total\"><img src=winamp.gif width=15 height=15 border=0 title=\"$artista - $nombre \"> <a class=baby12>$artista - $nombre.mp3</a><br>";
            }
            echo
"<br><a class=baby12>Seleccionar archivos a reproducir</a> <input type=submit name=play value=Play>";
            echo
"</form>";
            echo
"<a class=baby12>Total: ".count($a["total"]).'</a>';
        }else{
            echo
"<br><a class=baby12>No se encontraron archivos mp3 en este directorio ni en sus subdirectorios</a>";
        }
    }

    
}
//definimos nueva ruta para buscar mas mp3s
else if ($_GET[modo] == 'nueva_ruta'){
    if(
$_SESSION[ruta] == ''){
        
$_SESSION[ruta] = $definir_ruta;
        echo
"<META HTTP-EQUIV=\"refresh\" content=\"1; URL=pijada.php?modo=\">";
    }else{
        
$_SESSION["ruta"] = $_POST["definir_ruta"];
        echo
"<META HTTP-EQUIV=\"refresh\" content=\"1; URL=pijada.php?modo=\">";
    }
}
//lanzamos reproductor y creamos playlist
else if ($_GET[modo] == 'play'){
    
$f1=fopen("playlist.m3u","w+");
    for(
$aa=0;$aa<=72;$aa++){    
        if(
$check_play[$aa] != ''){
            
fwrite($f1,$check_play[$aa]."\n");
        }
    
    }
    
fclose($f1);
    
system("$ruta_winamp playlist.m3u");
    echo
"<META HTTP-EQUIV=\"refresh\" content=\"1; URL=pijada.php?modo=\">";
}

function
buscar_mp3($ruta){
    
$f = opendir($ruta);//abrimos el directorio asignado
    
while($fichero = readdir($f)){
        
$ruta_y_fichero = $ruta."/".$fichero;
        if((
$fichero != '.') AND ($fichero != '..')){//nos saltamos los directorio . y ..
            
if(is_dir($ruta_y_fichero)){//si el fichero analizado es una carpeta seguiremos buscando mas mp3s
                
buscar_mp3($ruta_y_fichero);
            }else{
                
$extension = substr($ruta_y_fichero , -3, 3);//obtenemos la extension
                
$extension = strtolower($extension);//bajamos a minus para q piyen todos
                
if($extension == 'mp3'){
                    if(
count($a) == 0){
                        
saca_id3($ruta_y_fichero);                        
                    }else{
                        
saca_id3($ruta_y_fichero);                        
                    }
                }
            }
        }
    }
    
closedir($f);
}
function
saca_id3($ruta_y_fichero){//obtenemos los id3 leyendo los ultimos 128 bytes del fichero mp3
    
$f1=fopen($ruta_y_fichero,"r");
    
$tamaño = filesize($ruta_y_fichero);//obtenemos total bytes
    
$lee_hasta_aki = $tamaño-128;//le restamos al total 128 q necesitamos
    
fseek($f1,$lee_hasta_aki);//nos istuamos en el primer de los 128 ultimos bytes
    
$id3=fread($f1,128);//obtenemos id3 completo
    
fclose($f1);
    
//miramos is el array contiene valores y definimos $a como global para poder acceder a ella
    
if(count($a) == 0){
        global
$a;
    }
    
//separamos id3 por nombre y artista
    
$a["total"][] = $ruta_y_fichero;
    
$a["nombre_fichero"][] = substr($id3,3,29);
    
$a["$artist_fichero"][] = substr($id3,33,29);
        
}



?>

Web alojada en Zilos

php-hispano.net 2002 - 2008 | XHTML 1.0
Datos Legales | Webmaster