Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] No descarga pdf en hosting y en local si

Estas en el tema de No descarga pdf en hosting y en local si en el foro de PHP en Foros del Web. Otra vez me sucede que lo que me funciona local no me funciona en el hosting, en local tengo la versión de PHP 5.4.12 que ...
  #1 (permalink)  
Antiguo 20/08/2013, 19:23
 
Fecha de Ingreso: enero-2013
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
No descarga pdf en hosting y en local si

Otra vez me sucede que lo que me funciona local no me funciona en el hosting, en local tengo la versión de PHP 5.4.12 que es de las recientes y en el hosting la verdad no se cual sea, no he podido visualizarlo y si lo he buscado.
Bueno tengo un código que me funciona a la perfección, mismas BD, mismas contraseñas, todo bien, de hecho meter registros y seleccionar no hay problema, el único problema es que "No Descarga y No Visualiza los PDF" mientras que el local si
Código PHP:
error_reporting(E_ALL E_NOTICE);
require(
"../mod_configuracion/conexion.php");

//NOS CONECAMOS A LA BASE DE DATOS

//CONSTRUIMOS LA CONSULTA PARA OBTENER EL DOCUMENTO

$tbl=$_GET['tbl'];
$valor $_GET['id'];
if(
$valor!=""){
$res=mysql_query("Select * from ".$tbl." where id={$valor}",$con);
 if(
mysql_num_rows($res) == 1)
      
      {
       
$nom=mysql_result($res,0,"nombre_archivo");
$tipo=mysql_result($res,0,"tipo_formato");
$contenido=mysql_result($res,0,"archivo");
$obj=mysql_fetch_object($res);
      }
        

//OBTENEMOS EL TIPO MIME DEL ARCHIVO ASI EL NAVEGADOR SABRA DE QUE SE TRATA
header("Content-type: {$tipo}");

//OBTENEMOS EL NOMBRE DEL ARCHIVO POR SI LO QUE SE REQUIERE ES DESCARGARLO
header('Content-Disposition: attachment; filename="'.$nom.'"');

//Y PO ULTIMO SIMPLEMENTE IMPRIMIMOS EL CONTENIDO DEL ARCHIVO
print $contenido;

//CERRAMOS LA CONEXION
mysql_close();

este es el código para descargar, y este otro para visualizarlos desde el navegador
Código PHP:
require("../mod_configuracion/conexion.php");
$con mysql_connect($bd_host,$bd_usuario,$bd_pass);
mysql_select_db($bd_base,$con);
$bd=$_GET['bd'];
$memberId = isset( $_GET["id"] ) ? (int)$_GET["id"] : 0;
 
// $qry=mysql_query("delete from ceja where id={$id}",$con);
  
$re=mysql_query("select * from ".$bd." where id ='".$memberId."' ",$con);
$f=mysql_fetch_array($re);

header('Content-type: application/pdf');


echo 
$f['archivo']; 
al momento que los ejecuto solo me sales caracteres con la inicial de pdf "%PDF-1.4 %âãÏÓ 1 0 obj <>stream ÿØÿàJFIFHH..."

Última edición por santunvel; 20/08/2013 a las 19:30
  #2 (permalink)  
Antiguo 20/08/2013, 19:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No descarga pdf en hosting y en local si

Esos caracteres corresponden a la información binaria del archivo, así que todo funciona bien hasta ese punto.

Intenta agregar un exit() cuando termines de enviar el contenido, tal vez eso ayude.

También revisa los logs de error por si hay algo más de información.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/08/2013, 20:07
 
Fecha de Ingreso: enero-2013
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: No descarga pdf en hosting y en local si

Cita:
Iniciado por pateketrueke Ver Mensaje
Esos caracteres corresponden a la información binaria del archivo, así que todo funciona bien hasta ese punto.

Intenta agregar un exit() cuando termines de enviar el contenido, tal vez eso ayude.

También revisa los logs de error por si hay algo más de información.
ya intente con el exit() y sigue igual; el log me manda lo siguiente
"20-Aug-2013 21:53:39 America/New_York] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/oo90jkhy/public_html/Corporacion/mod_configuracion/conexion.php:23) in /home/oo90jkhy/public_html/Corporacion/mod_inicio/getfile.php on line 31
[20-Aug-2013 21:53:39 America/New_York] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/oo90jkhy/public_html/Corporacion/mod_configuracion/conexion.php:23) in /home/oo90jkhy/public_html/Corporacion/mod_inicio/getfile.php on line 34"

no se que headers se refiera, aparte que me habla de la conexión, que no creo que sea nada de eso, le quite los headers y funciona igual, mandándome los caracteres
  #4 (permalink)  
Antiguo 20/08/2013, 20:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No descarga pdf en hosting y en local si

¿Puedes indicarnos cuales son las lineas de las que habla el error o tenemos que adivinar?

Ahora, como sea el error es bastante común, lee esto: http://www.forosdelweb.com/wiki/PHP:...n_line_4%22%3F
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 20/08/2013, 20:33
 
Fecha de Ingreso: enero-2013
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: No descarga pdf en hosting y en local si

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Puedes indicarnos cuales son las lineas de las que habla el error o tenemos que adivinar?

Ahora, como sea el error es bastante común, lee esto: [url]http://www.forosdelweb.com/wiki/PHP:%C2%BFPor_qu%C3%A9_me_sale_%22Warning:_Cannot_ modify_header_information_-_headers_already_sent_by_%28output_started_at_1:2% 29_in_3_on_line_4%22%3F[/url]
No es que no te quiera pasar las lineas, las unicas que te puedo pasar son las de el log, pero los errores en el hosting nuuunca me salen, cuando los tiene solo me doy cuanta porque la pagina al ejecutarla se pone en blaco total, al contrario del local, me aparecen detallados los errores. Con respecto a lo que me mandas creo que son cabeceras las del problema, intentare redireccionar las descargas a otra pagina sin cabeceras a ver que me da
  #6 (permalink)  
Antiguo 21/08/2013, 18:46
 
Fecha de Ingreso: enero-2013
Mensajes: 54
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: No descarga pdf en hosting y en local si

Gracias #pateketrueke la solución fue quitar el
Código PHP:
Ver original
  1. require("../mod_configuracion/conexion.php");
Código PHP:
Ver original
  1. $bd_host = "localhost";
  2. $bd_usuario = "root";
  3. $bd_pass = "r";
  4. $bd_base = "bd";
  5. $bd_port=""; // este vacio
  6. $con = mysql_connect($bd_host,$bd_usuario,$bd_pass);
  7. mysql_select_db($bd_base,$con);
al parecer ese require incluia una cabecera que hacia que no imprimiera bien el pdf
  #7 (permalink)  
Antiguo 21/08/2013, 18:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: No descarga pdf en hosting y en local si

Las cabeceras no son la única razón de que se rompiera lo demás, si lees bien el enlace que te alcancé anteriormente ahí se explican diversas causas.

La más común, en mi experiencia, es la que tiene que ver con impresiones de texto, html, o inclusive saltos de linea entre bloques de código, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: pdf, php+archivos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:07.