Tengo implementado en mi sistema una etiqueta BBCode personal, la cual llamo asi: [PLAY_MP3]ID[/PLAY_MP3], en donde el ID es un identificador en mi base de datos dentro de la tabla de archivos, en donde la idea es consultar dicho ID para posteriormente sacar la direccion completa donde se encuentra el archivo.mp3. Asi mismo, en el BBCode establezco un reproductor para que el archivo.mp3 pueda ser escuchado.
El Problema es que al llamar a la funcion mp3_file( $id ). esta no me regresa el archivo MP3 , sino que, solamente me retorna un 0 ... Ya le estuve buscando y no entiendo porque .... Les dejo codigo:
BBcode Funcion
Esta funcion invoca el tag de [PLAY_MP3]ID[/PLAY_MP3] y a su vez llama a la funcion mp3_file( $id ).
Código
<?php function msg2msgtags( $mensaje ) { '/\[play_mp3\](.*?)\[\/play_mp3\]/is' ); '<object id="audioplayer_1" data="admin/addons/player.swf" style="outline-color: -moz-use-text-color; outline-style: none; outline-width: medium; visibility: visible;" name="audioplayer_1" type="application/x-shockwave-flash" height="24" width="450"> <param value="#FFFFFF" name="bgcolor"> <param value="transparent" name="wmode"> <param value="false" name="menu"> <param value="animation=yes&encode=no&initialvolume=60&remaining=yes&noinfo=yes&buffer=5&checkpolicy=no&rtl=no&bg=bbbbbb&text=333333&leftbg=CCCCCC&lefticon=333333&volslider=666666&voltrack=FFFFFF&rightbg=B4B4B4&rightbghover=999999&righticon=333333&righticonhover=FFFFFF&track=FFFFFF&loader=3c78a7&border=CCCCCC&tracker=DDDDDD&skip=666666&soundFile=href="http://www.podtrac.com/pts/redirect.mp3/http://podcast.sie-group.net/upload/noticias/'. mp3_file('$1'). '&playerID=audioplayer_1" name="flashvars"> </object> <script type="text/‭‬‭‬‭‬‭‬javascript">AudioPlayer.embed("audioplayer_1", {soundFile:"http://www.podtrac.com/pts/redirect.mp3/http://podcast.sie-group.net/upload/noticias/'. mp3_file( '$1' ). '"});</script>' ); return $mensaje; } ?>
Funcion mp3_file()
Esta funcion recive un ID el cual toma y consulta en la base de datos de ARCHIVOS para obtener el campo de ARCHIVOS_NOMBRE, que tiene el nombre del mp3 a reproducir (retornar).
Código
function mp3_file( $id ) { $mp3= consultar_datos_general("ARCHIVOS", "ID='". $id. "'", "archivos_nombre"); // echo '['. $id. ']'; # la habilito para ver si efectivamente existe un id (o se envia), y pues SI return $mp3; }
Funcion consultar_datos_general()
Basicamente es una funcion simple y sencilla para minimizar escribir el codigo mysql_query repetidamente :S...
Código
//funcion para consultar datos especificos en la BDD de CUALQUIERA function consultar_datos_general( $bdt, $bdt_where, $var ) { $cons= consultar_con( $bdt, $bdt_where ); //funcion que invoca consulta (mysql_query()). if( $data ) { limpiar($cons); //funcion que ejecuta mysql_free_result() } limpiar($cons); //funcion que ejecuta mysql_free_result() return 0; }