Desafío PPT Playlist
#3 Solución de LuNaTiCo
Ver código
|
Ver comentarios (3)
|
Descargar código
Fecha: 25 diciembre 2003
Tamaño: 20628 caracteres
Comentarios: 3
Solución online:
Lo siento, pero no está disponible
Valoración









9.00
(2 votos)
No ha realizado ningún comentario
Valora esta solución
/*********** CONFIGURACIÓN ***********/
$winamp="D:/Winamp5/winamp.exe";
$directorio="D:/emepe3";
/*************************************/
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>PHPlaylist 1.0</title>
<style type="text/css">
body { font-family: Arial, Helvetica, sans-serif; font-size: small; }
.texto { font-family: Arial, Helvetica, sans-serif; font-size: x-small; }
.tabla { border: 1px solid #000000; }
.encabezado {
font-family: Arial, Helvetica, sans-serif; font-size: x-small;
color: #FFFFFF; background-color: #000000;
text-align: center;
}
.encabezado2 {
font-family: Arial, Helvetica, sans-serif; font-size: x-small;
color: #FFFFFF; background-color: #F5F5F5;
text-align: center;
border: 1px solid #000000;
}
.contador {
font-family: Arial, Helvetica, sans-serif; font-size: x-small;
background-color: #FF9900;
text-align: center;
}
.celda1 { font-family: Arial, Helvetica, sans-serif; font-size: x-small; background-color: #F5F5F5; cursor: help;}
.celda2 { font-family: Arial, Helvetica, sans-serif; font-size: x-small; background-color: #FFFFFF; cursor: help;}
a:link, a:active, a:visited { color: #FF9900; text-decoration: none; }
a:hover { color: #000000; background: #FF9900; text-decoration: none; }
</style>
</head>
<body>
<?
function listadoMP3($base)
{
if (is_dir($base)) {
$dirAbierto = opendir($base);
while (($fichero = readdir($dirAbierto))) {
if (is_dir($base."/".$fichero) && $fichero != '.' && $fichero != '..')
$listadosubdirectorio = listadoMP3("$base/$fichero");
elseif (is_file("$base/$fichero") && $fichero != '.' && $fichero != '..')
if (strtoupper(substr($fichero , -4, 4))==".MP3") {
$i=count($GLOBALS["canciones"]);
$GLOBALS["canciones"][$i]['arch']=$fichero;
$GLOBALS["canciones"][$i]['ruta']=$base."/";
}
}
closedir($dirAbierto);
}
}
if (file_exists("temp.m3u"))
unlink("temp.m3u");
if (isset($_GET['borrarLista']) && file_exists("playlist.m3u"))
unlink("playlist.m3u");
if (isset($_GET['verCodigo'])) {
echo "<p><a href='$PHP_SELF' name='arriba'><img src='http://perseverantia.com/versvs/images/phplaylist.gif' border='0'
width='317' height='103' alt='PHPlaylist Logo' title='Volver a PHPlaylist'></a></p>";
ob_start();
show_source( substr ($PHP_SELF, 1) );
$codigo = ob_get_contents();
ob_end_clean();
$codigo = ereg_replace( "<font" , "<span" , $codigo);
$codigo = ereg_replace( "</font>", "</span>", $codigo);
$codigo = ereg_replace( "color=\"", "style=\"color:", $codigo);
$codigo = ereg_replace( "<br />" , "</li><li>" , $codigo );
echo "<ol><li>$codigo</ol>";
echo "<p class='texto'><a href='#arriba'>Volver al principio de la página</a></p>";
}
else {
if (isset($_GET['add'])) {
$f1=fopen("playlist.m3u","a+");
fwrite($f1,$_GET['add']."\n");
fclose($f1);
}
elseif (isset($_GET['play'])) {
$f1=fopen("temp.m3u","w");
fwrite($f1,$_GET['play']."\n");
fclose($f1);
system("$winamp temp.m3u");
unlink("temp.m3u");
}
elseif (isset($_GET['playList']))
system("$winamp playlist.m3u");
$canciones = array();
listadoMP3($directorio);
sort($canciones);
?>
<p><a href="<?=$PHP_SELF?>?verCodigo"><img src="http://perseverantia.com/versvs/images/phplaylist.gif" border="0" width="317"
height="103" alt="PHPlaylist Logo" title="Haz click para ver el codigo fuente"></a></p>
<table align="center" class="tabla">
<tr><td class="encabezado" colspan="4">PHPlaylist versión 1.0. LuNaTiCo</td></tr>
<?
if (file_exists("playlist.m3u")) {
echo "
<tr>
<td colspan='4'>
<table width='100%' class='encabezado2'>
<tr>
<td><a href='$PHP_SELF?playList'>Ejecutar lista de canciones</a></td>
<td><a href='$PHP_SELF?borrarLista'>Borrar lista de canciones</a></td>
</tr>
</table>
</td>
</tr>
";
}
?>
<?
for($i=0;$i<count($canciones);$i++)
{
$x=fopen($canciones[$i]['ruta'].$canciones[$i]['arch'],"r");
fseek($x,filesize($canciones[$i]['ruta'].$canciones[$i]['arch'])-128);
$tag=fread($x,128); // Leemos los últimos 128 bytes
$id3_grupo=substr($tag,33,30);
$id3_cancion=substr($tag,3,30);
$id3_disco=substr($tag,63,30);
$id3="Grupo: $id3_grupo\nCanción: $id3_cancion\nDisco: $id3_disco";
if ($i%2==0) {
$celda="celda1";
$color="F5F5F5";
}
else {
$celda="celda2";
$color="FFFFFF";
}
echo "
<tr>
<td class='contador'>".($i+1)."</td>
<td title ='$id3' class='$celda' onmouseover=\"this.style.backgroundColor='#FFFFCC'\"
onmouseout=\"this.style.backgroundColor='$color'\">".$canciones[$i]['arch']."</td>
<td class='$celda' align='center'><a href='$PHP_SELF?add=".$canciones[$i]['ruta'].$canciones[$i]['arch']."' title='Añadir
[$id3_cancion] a la lista de reproducción'>Añadir a lista</a></td>
<td class='$celda' align='center'><a href='$PHP_SELF?play=".$canciones[$i]['ruta'].$canciones[$i]['arch']."'
title='Reproducir [$id3_cancion]'>Play</a></td>
</tr>
";
}//fin for
?>
<tr><td class="encabezado" colspan="4">PHPlaylist versión 1.0. LuNaTiCo</td></tr>
</table>
<p class="texto"><strong>CRÉDITOS:</strong><br />
Este script ha sido hecho para los <a href="http://php-hispano.net/desafios/" target="_blank">desafíos</a> de <a
href="http://php-hispano.net/" target="_blank">PHP-Hispano</a> (<em>PHP para torpes</em>).<br />
Autor: <a href="http://perseverantia.com/versvs/" target="_blank">LuNaTiCo</a>.<br />
<em>...y tú sabrás que mi nombre es Yavéh cuando caiga mi venganza sobre ti</em>
</p>
<? }//fin else ?>
</body>
</html>