Contacto | #php_para_torpes | Enlázanos | ¿Quiénes somos?
13 usuarios Online (0)
Darse de alta en la web | Recuperar password   
Inicio / Desafios / PPT Playlist / Solucion de crazy2k

Desafío PPT Playlist

#3 Solución de crazy2k

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

Fecha: 20 diciembre 2003

Tamaño: 22650 caracteres

Comentarios: 7

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

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

No ha realizado ningún comentario

Valora esta solución

<?
$page
= ($_GET['page']) ? $_GET['page'] : $_POST['page'];

//Directorio de MP3
$dir_name = "c:/boca/";
//Ubicación del reproductor de MP3
$rep="c:\archiv~1\Winamp\winamp.exe";

session_start();
$PHP_SELF = $_SERVER['PHP_SELF'];
//Switch utilizado para verificar la página a la que se desea ir
switch ($page) {
    default:
        
$num = 1;
        
$arr = array();
        echo
"<table cellpadding=\"3\">";
        
//Utilizamos la función explicada más abajo
        
makeArr($dir_name);
        
$_SESSION['arr'] = $arr;
        
$p = 1;
        
//Ordenamos el array según el key
        
uksort($arr,"strnatcasecmp");
        
//Recorremos el array y mostramos su contenido en una tabla
        
foreach ($arr AS $z => $j) {
            if (
$bgcol) { $bgcol = 0; $bgcolor = FFFFFF; }
            else {
$bgcol = 1; $bgcolor = F0F5FF; }
            echo
"<tr bgcolor=\"#$bgcolor\"><td><p align=\"right\"><b>$p.</b></p></td><td><a href=\"$PHP_SELF?page=1&f=".$j['numero']."\">$z</a></td><td><i>".$j['size']." MB</i></td><td><a href=\"$PHP_SELF?page=2&f=".$j['numero']."\">Agregar a la lista</a></td><td><a href=\"$PHP_SELF?page=3&f=".$j['numero']."\">Ver ID3</a></td></tr>";
            
$p++;
        }
        echo
"</table>";
    break;
    case
"1":
        
$arr = $_SESSION['arr'];
        
$f = $_GET['f'];
        
//Utilizamos la función explicada más abajo
        
$a = giveUbicacion($f);
        
$do = $rep." ".$a;
        
//Reproducción
        
system($do);
    break;
    case
"2":
        
$arr = $_SESSION['arr'];
        
$f = $_GET['f'];
        
$a = giveUbicacion($f);
        echo
$a;
        
$do = $rep." /ADD ".$a;
        
//Agregamos a la lista
        
system($do);
    break;
    case
"3":
        
$arr = $_SESSION['arr'];
        
$f = $_GET['f'];
        
$a = giveUbicacion($f);
        
$h = fopen($a,"r");
        
$seek = fseek($h,filesize($a)-125);
        
$s = fread($h,131);
        echo
"<table width=\"100%\"><tr><td bgcolor=\"#F0F5FF\" colspan=\"2\">Información de <b>$a</b>:</td></tr>";
        echo
"<tr><td><table><tr><td><b>Artista:</b></td><td>".substr($s,30,30)."</td></tr>";
        echo
"<tr><td><b>Título:</b></td><td>".substr($s,0,30)."</td></tr>";
        echo
"<tr><td><b>Album:</b></td><td>".substr($s,60,30)."</td></tr></table></td></tr></table>";
        echo
"<br><b>NOTA:</b> Si la información no es entendible, es porque el archivo no contiene TAGs ID3.";
        
fclose($h);
        echo
"<br><br><a href=\"$PHP_SELF\">Volver atrás</a>";
    break;
}

//Función que recorre el array en busca del numero (o id) de cada archivo
//y devuelve la ubicación del numero (o id) buscado
//giveUbicacion(numero_a_buscar);
function giveUbicacion($numero) {
   
$arr = $_SESSION['arr'];
   foreach(
$arr as $g) if ($g['numero'] == $numero) return $g['ubicacion'];
}

//Función que busca los archivos y los guarda en un array
//makeArr(directorio);
function makeArr($d) {
    global
$arr;
    global
$num;
    if (
$dir = opendir($d)) {
        while (
$file_name = readdir($dir)) {
            
$var = (strlen($file_name)) - 3;
            
$var2 = strlen($file_name);
            
$var3 = (strlen($d)) - 1;
            
$var4 = strlen($d);
            if ((
$file_name != ".") && ($file_name != "..") && (is_dir($d.$file_name))) {
                
//Buscamos en subdirectorios
                
makeArr($d.$file_name);
            }
            elseif ((
$file_name != ".") && ($file_name != "..") && (strtolower((substr($file_name,$var,$var2))) == 'mp3')) {
                if (((
substr($d,$var3,$var4)) != '/')) $d = $d."/";
                
$x = $d.$file_name;
                
$fsize = filesize($x);
                
$fsize = str_replace(".",",",round(($fsize / 1024) / 1024,2));
                
//Agregamos los datos al array
                
$arr[$file_name] = array(
                
"size" => $fsize,
                
"ubicacion" => $x,
                
"numero" => $num,
                );
                
$num++;
            }
        }
        
closedir($dir);
    }
}        
?>

Web alojada en Zilos

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