Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   PHP y servidor que interpreta los JPG.. (https://www.clubdelphi.com/foros/showthread.php?t=50080)

lag_0 07-11-2007 18:08:30

PHP y servidor que interpreta los JPG..
 
Buenas!!!
Pues hasta hoy estaba trabajando en mi local y al subir la web al host me pasa en este codigo lo siguiente:
Código PHP:

    //Enviamos el header que guarda 24 la web
        
header("Expires: " gmdate("D, d M Y H:i:s"time() + 3600 24) . " GMT");
    
//Hay que dar el contenido de una de IMG
      
header('Content-type: image/gif');
      if (
file_exists(a_a_img.'/'.$ketchup[0].'.gif')) {
     include(
a_a_img.'/'.$ketchup[0].'.gif');
   } else if (
file_exists(a_a_img.'/'.$ketchup[0].'.jpg')) {
     include(
a_a_img.'/'.$ketchup[0].'.jpg');
   } else if (
file_exists(a_a_img.'/'.$ketchup[0].'.jpeg')) {
     include(
a_a_img.'/'.$ketchup[0].'.jpeg');
   } else if (
file_exists(a_a_img.'/'.$ketchup[0].'.png')) {
     include(
a_a_img.'/'.$ketchup[0].'.png');
   } else {
     include(
a_a_img.'/error.gif');
   } 

El codigo lo único que hace es dada un nombre te manda a la imagen correspondiente pero... que pasa? Pues que en mi PC funciona correctamente pero en el host hay una imagen, solo una, que me da error:

Código:

<br />
<b>Parse error</b>:  syntax error, unexpected '^' in <b>/var/www/vhosts/patatatata.net/httpdocs/patatatata/pa-tata/patatatata.jpg</b> on line <b>206</b><br />

Vamos que no se que pasa con esa imagen que la "interpreta" como PHP y da error por alguna combinación de caracteres que se crearan... Como puedo solucionarlo? No quiero hacer header('location:... por que el $ketchup[0] viene codificado y no quiero que se conozca ni la URL ni el nombre del fichero....
Muchas gracias

Ah.. y con GD claro que se hacerlo pero el tema estaría en hacerlo sin recurrir a GD.. que no interprete el codigo..

dec 08-11-2007 00:13:31

Hola,

Bueno. Lo que ocurre es que no has de usar el "include" de PHP para obtener el contenido de la imagen, puesto que, al hacer esto, estás diciendo a PHP "incluye este archivo PHP y procesa su contenido", cuando, en realidad, no se trata de un archivo PHP, este encuentra caracteres "raros" y se limita a dar un error de "sintáxis inválida". Mejor prueba con algo así:

Código PHP:

header('Content-type: image/gif'); 
echo 
file_get_contents('imagen.gif'); 


lag_0 08-11-2007 00:47:23

si bueno lo habia solucionado así pero con un for, mucho mejor tu solución :D
muchisimas gracias.


La franja horaria es GMT +2. Ahora son las 07:57:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi