En fín, empecemos...
Tengo un problema, al momento de querer hacer la descarga de un MP3 desde la URL que se solicita, en definitiva al momento de ingresar la URL para que descargue el mp3 sale pero todo a manera de codigos y simbolos raros.
(Voy a dejarlo con ejemplos del sitio web donde me surge el problema) y perdón si es que no se puede poner webs pero para este caso lo veo necesario; para que se puedan dar cuenta.
Ejemplo, quiero descargar este MP3: http://www.mp3downl.com/mp3/9/Burn---Ellie-Goulding/iujExu1A/
Al momento de darle a DOWNLOAD me estaría redieccionado acá:
http://www.mp3downl.com/download.php?hash=iujExu1A&name=Burn%20-%20Ellie%20Goulding
que es donde va a generar el enlace de descarga digamos, para guardar el archivo (es donde debería salir el cuadro de dialogo del navegador preguntando si queremos guardar y bla bla bla..)
En este caso lo que sale son toda una tirada de codigos que evidentemente equivalen al MP3 pero a modo de "HTML"(eso creo) y no como archivo en sí -.-"
En fín eso sería todo el problema y idea es que salga el cuadro de dialogo para descargar no todo ese choclo de codigos (que llega a trabar la PC ¬¬).
a continuación les voy a dejar todo el código del PHP de DOWNLOAD (lo interesante comienza después de esta linea:
Código PHP:
if ($hash[2] != "www.4shared.com") {
Sin mas acá les va:
download.php:
Código PHP:
<?php
@session_start ();
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
define ( 'INCLUDE_DIR', ROOT_DIR . '/includes' );
include (INCLUDE_DIR . '/config.inc.php');
require_once INCLUDE_DIR . '/class/_class_mysql.php';
require_once INCLUDE_DIR . '/db.php';
require(ROOT_DIR . '/libs/functions.php');
$id = $db->safesql($_REQUEST['hash']);
$row = $db->super_query ( "SELECT url FROM tan_cache WHERE hash = '$id'" );
$hash = explode("/", $row['url']);
if(isset($_REQUEST['name'])) $name = urldecode($_REQUEST['name']);
$name = str_replace(" ", "_", $name);
if ($hash[2] != "www.4shared.com") {
$row ['url'] = str_replace("/stream", "/stream?client_id=" . $config['soundcloud_api'], $row ['url']);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-type: audio/mpeg;\r\n");
header("Content-Disposition: attachment; filename={$name}_tancode.com.mp3");
header("Content-Transfer-Encoding: binary");
readfile(str_replace(' ', '%20', $row['url']));
//header("Location: " . $row['url']);
} else {
$id = $hash[4];
$user_login = $config['shared_useranme'];
$user_password = $config['shared_password'];
$client = new SoapClient ( 'http://api.4shared.com/jax3/DesktopApp?wsdl', array ('cache_wsdl' => WSDL_CACHE_DISK, 'trace' => 1, 'exceptions' => 0 ) );
$client->yourFunction ();
$grab = "http://www.4shared.com/mp3/" . $id . "/" . $name;
$decodeLink = $client->decodeLink ( $user_login, $user_password, $grab );
$N->getFileInfo = $client->getFileInfo ( $user_login, $user_password, $decodeLink );
$N->getPreviewLink = $client->getPreviewLink ( $user_login, $user_password, $decodeLink );
$N->getVideoPreviewLink = $client->getVideoPreviewLink ( $user_login, $user_password, $decodeLink );
$N->getFileDescription = $client->getFileDescription ( $user_login, $user_password, $decodeLink );
$N->getExifFileInf = $client->getExifFileInf ( $user_login, $user_password, $grab );
$N->getMp3FileInfo = $client->getMp3FileInfo ( $user_login, $user_password, $grab );
$N->getSmallImageLink = $client->getSmallImageLink ( $user_login, $user_password, $decodeLink );
$linkdown = $client->getDirectLink ( $user_login, $user_password, $grab );
$down = array ('download' => $linkdown );
$url = $down ['download'];
header("Location: " . $url);
}
$db->close;
?>
Desde ya muchas gracias por adelantado