Foros del Web » Programando para Internet » PHP »

Mostrar imagenes de otro dominio

Estas en el tema de Mostrar imagenes de otro dominio en el foro de PHP en Foros del Web. Tengo dos dominios: a.com y b.com En a.com tengo muchas imagenes que también debo utilizar en b.com. Ambos dominios son míos, y se encuentran en ...
  #1 (permalink)  
Antiguo 18/06/2006, 13:17
 
Fecha de Ingreso: diciembre-2005
Mensajes: 354
Antigüedad: 18 años, 10 meses
Puntos: 0
Mostrar imagenes de otro dominio

Tengo dos dominios: a.com y b.com
En a.com tengo muchas imagenes que también debo utilizar en b.com.
Ambos dominios son míos, y se encuentran en el mismo server, no estoy robando imagenes ni transferencia.

Ahora bien,... lo que hacía hasta hace poco es, mediante php4, verificar que las imagenes existan en a.com, para mostrarlas en b.com. Si la imagen no existiese en a.com, entonces en b.com mostraba una imagen default.

Cuando lo hice en su momento, funcionaba bien. Pero ahora me topo que no, que no funciona mas, siempre muestra la imagen por default por mas que exista en a.com.

Les dejo el script, es sencillo pero no se me ocurre que puede estar pasando.


Código:
<?php 
// Guardo en una variable, la imagen a buscar en a.com
$v_img = 'http://www.a.com/carpeta/Nombre_de_Archivo_Sin_Extención;


// Me fijo si la encuentra con extención JPG
// Si existe, la muestro				
if (@fopen($v_img.'.jpg', r) !== false ) { ?>
<img src="<?php echo $v_img.'.jpg'; ?>">


<?php 
// Si como JPG no existía, me fijo si existe como GIF
// Si existe, la muestro
} elseif (@fopen($v_img.'.gif', r) !== false ) { ?>			
<img src="<?php echo $v_img.'.gif'; ?>">


<?php 
// Si ninguna de las dos existen, entonces muestro una imagen por default
} else { ?>
<img src="http://www.b.com/carpeta/Imagen_default.gif">			
<?php } ?>
En el hosting no se cambió nada como para que afecte esto.
  #2 (permalink)  
Antiguo 19/06/2006, 02:27
jpeeri
Invitado
 
Mensajes: n/a
Puntos:
Es que tu no puedes abrir archivos de otros hostings, imaginate que pasaría si pudiese abrir los config.php de otros dominios.
  #3 (permalink)  
Antiguo 19/06/2006, 03:21
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
Cita:
Es que tu no puedes abrir archivos de otros hostings
Sí se puede... él mismo esta diciendo antes lo hacía correctamente.

Cita:
En el hosting no se cambió nada como para que afecte esto.
¿Mismos hosting, mismas configuraciones, mismos códigos?; algo debió de haber cambiado... sino puede ser que simplemente el servidor este caido :-/.

Buscale por dos lados:
- Que allow_url_fopen este activado (en php.ini)
- Que no haya algo en un archivo .htaccess (ó incluso en el httpd.conf ) que bloquee la lectura de imágenes desde el exterior... igual podrías dar permiso solo para ese otro hosting pero esto ya es configuración de Apache.

¡Suerte!

----
Otra cosa: elimina el @ que antepone a la función; fuerza a que muestre el mensaje de error para que puedas identificar el fallo .
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 19/06/2006, 22:41
 
Fecha de Ingreso: diciembre-2005
Mensajes: 354
Antigüedad: 18 años, 10 meses
Puntos: 0
Cita:
Iniciado por jpeeri
Es que tu no puedes abrir archivos de otros hostings, imaginate que pasaría si pudiese abrir los config.php de otros dominios.
Lo que estoy haciendo es mostrar en pantalla, simplemente, un archivo de imagen (JPG o GIF).
  #5 (permalink)  
Antiguo 19/06/2006, 23:13
 
Fecha de Ingreso: diciembre-2005
Mensajes: 354
Antigüedad: 18 años, 10 meses
Puntos: 0
Cita:
Iniciado por jam1138
Buscale por dos lados:
- Que allow_url_fopen este activado (en php.ini)
Está activado.


Cita:
Iniciado por jam1138
- Que no haya algo en un archivo .htaccess (ó incluso en el httpd.conf ) que bloquee la lectura de imágenes desde el exterior... igual podrías dar permiso solo para ese otro hosting pero esto ya es configuración de Apache.
Probé de mostrar una imagen de forma directa en html, sin código php alguno, y la mostró sin problemas.

Quiero aclarar que ambos dominios se encuentran en el mismo servidor. Nada mas que son cuentas de hosting diferentes.

Cita:
Iniciado por jam1138
Otra cosa: elimina el @ que antepone a la función; fuerza a que muestre el mensaje de error para que puedas identificar el fallo .
El fallo que tira es el del fopen cuando no encuentra el error:
Warning: fopen(http://www.a.com/carpeta/archivo.jpg): failed to open stream: Success in /home/editor/public_html/inc.contenidos/inc.novedades.php on line 30

Como yo debo verificar si primero está en JPG y luego en GIF, recién ahí se si mostrar la imagen default o no. Entonces le puse el @ ya que seguramente al menos una vez tiraría el error en pantalla.

Si se te ocurre alguna otra forma de hacer lo que necesito, bienvenido sea.
  #6 (permalink)  
Antiguo 20/06/2006, 05:32
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
Cita:
Entonces le puse el @ ya que seguramente al menos una vez tiraría el error en pantalla.
Sí, entiendo... solo asegurate de quitarlo en el caso que sabes no tiene por qué dar error (estas haciendo pruebas con una imágen que sabes que existe y el formato de la misma) ó en su defecto con las combinaciones posibles.



...

¿Has probado tu código con otra imágen de otro sitio?; prueba tu código con el logo de FDW, yo lo he hecho y funciona perfectamente... si funciona ó no te servirá como guía para saber dónde esta el fallo.

Lo que se me ocurre ahora (dudando de mí mismo) es que haya un problema de permisos con la imágen, que no tenga permisos de lectura de grupo (estan en el mismo servidor dices), aunque estás utilizando el protocolo HTTP... no tiene por qué ser ... pero bueno.

Solo sugiero ir eliminando posibilidades. ¡Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 21:51.