Comunidad de diseño web y desarrollo en internet online

aplicativo

Citar            
MensajeEscrito el 28 May 2013 09:32 pm
Buenas tardes, tengo un aplicativo web que básicamente sube archivos al servidor y los pone a disposición de unos usuarios para ser descargados.

Tengo un problema cuando un usuario descarga algún archivo y es que el archivo baja dañado, es decir sale un aviso en el que se indica que el archivo está malo. Lo curioso es que el nombre y la extensión del archivo están correctas, alguna idea de que está mal???

Por Loop

67 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 28 May 2013 10:23 pm
Estas emitiendo salida antes de la llamada de

Código PHP :

readfile($archivo);
exit; 


Para evitar eso, coloca estas lineas antes:

Código PHP :

ob_clean();
flush();
readfile($archivo); 
exit;


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

chrome
Citar            
MensajeEscrito el 04 Jun 2013 04:28 pm
Hola Maikel y gracias por tu respuesta, he estado revisando y aparentemente todo está bien en el código. Lo curioso de esto es que en mi servidor todo anda bien, pero en el servidor de la empresa para la cual lo estoy desarrollando, no.

Mi server el linux y el del cliente es Windows, sin embargo en ambos corre, es decir, se puede iniciar sesión, realizar todas las tareas dentro del aplicativo, crear usuarios, subir archivos, etc, pero al momento de descargar un archivo, y una vez terminada la descarga, aparece un error e que dice: "No se ha podido abrir el archivo, puede que esté dañado o tenga un formato que vista previa no es capaz de reconocer"

Alguna idea??

Saludos!

Por Loop

67 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 04 Jun 2013 06:06 pm
ese archivo generado, miralo con un editor de texto cualquiera, recomiendo notepad++, y mira si el codigo generado contiene algun mensaje de error de PHP

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Jun 2013 06:39 pm
Hola tuadmin, gracias por la respuesta, hice lo que me indicaste y tenia una advertencia en la linea 12 del archivo de descarga.php en esa linea solo estaba este código:

Código PHP :

set_time_limit(0);


lo eliminé y funcionó, ahora sigo sin entender porque en unos servidores funciona y en otros no??


Saludos!

Por Loop

67 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 05 Jun 2013 12:20 pm
Seguramente porque en el servidor remoto que estás usando, no se permite cambiar ciertas configuraciones del PHP.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 05 Jun 2013 03:34 pm
exacto ahora para evitar eso podrias poner el codigo

Código PHP :

@set_time_limit(0);

la arroba @,impide que se muestren los errores en pantalla, y en tu caso evita que se ponga el mensaje en tu archivo de descarga, los servidores web tienen sus propias configuraciones por motivos de seguridad y rendimiento,tienes que tomar eso en cuenta

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.