Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2014, 18:11
djarielstyle
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Problemas con las cabeceras header()

Hola gente que tal, soy nuevo en el foro (pero lo conozco desde apenas habia surgido) :P
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' => ) );
    
$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

Última edición por djarielstyle; 04/03/2014 a las 20:01