Con PHP, el archivo se crea bien en el sitio Local, pero en el de Producción queda corrupto
Esta pregunta tiene que ver con la anterior. Espero ojalá puedas ayudarme.
Se toma la imagen de la BD y se almacena en un archivo y se muestra el contenido del archivo (la imagen) en el encabezado de un reporte PDF generado con Fpdf. Esto funciona bien cuando corro el programa en Local.
Pero cuando intento ejecutar la solución ya en el sitio web de Producción, veo que no se logra almacenar la información de la imagen. El archivo que normalmente se genera con la imagen, es de 14.311 Bytes (14 KB); y dentro del sitio web se genera el archivo pero con 4 Bytes (0 KB), y cuando lo abro con el visualizador de fotos de Windows, dentro de él no se ve la imagen sino la leyenda "Visualizador de fotos de Windows no puede abrir esta imagen porque el archivo parece estar dañado o es demasiado grande". Cuando lo intento abrir con Paint se genera el siguiente mensaje de advertencia: "Paint no puede leer este archivo. Este archivo no es un archivo de mapa de bits válido o su formato no es compatible".
Lo que pienso que sucede es que no se logra almacenar la imagen y queda un archivo corrupto.
Básicamente las instrucciones que uso para solucionar la toma de la imagen de la BD y mostrarla en el encabezado son:
****** ****** ****** ****** ****** ******
> $reg = mysql_fetch_array($result, MYSQL_ASSOC); (previamente ya se ha hecho el Select)
> $var_imagen = $reg['LOGO']; (el campo LOGO es tipo llongblob)
> $handle = fopen("Imágenes/temp/mi_imagen.jpg", 'por'); (se crea el archivo con extensión jpg)
> fwrite($handle, $var_imagen); (se almacena la imagen de la BD dentro del archivo creado)
> $this->Image('Imágenes/temp/mi_imagen.jpg', 10,10,80,'','jpg'); (dentro de la función Header() de Fpdf)
****** ****** ****** ****** ****** ******
En lugar de usar "Fopen" y "Fwrite", ya lo he hecho usando "file_put_contents" (la que tú me sugeriste), con lo cual sucede lo mismo: funciona todo bien en el sitio Local, pero en el Sitio Web de Producción se genera el archivo con el mismo inconveniente tal cual.
Me enteré de que es posible de que alguno(es) parámtero(es) del PHP del servidor pueda(n) estr afectando si están desactivados. Entonces he verificado los valores para ‘allow_url_fopen’ y ‘file_uploads’ (pregunto si contienen 1 o 0) y veo que ambos están desactivados ( == 0 ). Entonces he creado un .thaccess dentro de la carpeta "Imágenes/temp/", con el propósito de que dentro de esta carpeta estos dos parámetros estén siempre activados - aunque los programas están dentro de la carpeta que está conteniendo a "Imágenes/". El contenido del .htaccess es:
**** **** **** ****
php_value file_uploads = 1
php_value allow_url_fopen = 1
**** **** **** ****
Pero aún así continúa el inconveniente.
¿Qué otros parámetros podrían estar afectando? ¿Será qué no es cuestión de parámetros y que es cuestión de otra cosa?