Foros del Web » Programando para Internet » PHP »

Recuperar imágenes de otro host

Estas en el tema de Recuperar imágenes de otro host en el foro de PHP en Foros del Web. Buenas, aqui va mi duda. Yo en mi página web, cuando quiero mostrar imágenes que están dentro de mi host, utilizo la función readfile(). Así, ...
  #1 (permalink)  
Antiguo 08/09/2005, 05:39
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 0
Recuperar imágenes de otro host

Buenas,

aqui va mi duda. Yo en mi página web, cuando quiero mostrar imágenes que están dentro de mi host, utilizo la función readfile(). Así, por ejemplo, si tengo una en la carpeta imagenes sería:

readfile("/imagenes/xxx.jpg")

Ahora bien, me gustaría poder poner imágenes de fuera de mi host, y pensaba que esto tambien se podía hacer con esta funcion pero, por lo menos a mí, no me funciona. Así, por ejemplo hago:

readfile("http://img.villagephotos.com/p/2005-9/1074729/terapiaantiextres3hl.jpg")

y nada. Esa imagen está ahí y si pongo la ruta en el navegador me sale la imagen, pero el readfile nada de nada.

No se si tengo que usar otra función o estoy usando esta mal o necesito algún permiso especial, aunque en un foro que tengo en el mismo host y me permite poner avatar remoto e insertar imágenes remotas en los post, por lo que no creo.

Alguna idea?

Saludos y gracias de antemano
  #2 (permalink)  
Antiguo 08/09/2005, 06:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si te fijas en la documentación oficial de readfile() veras que el uso de una ruta absoluta (con tu http:// .. etc) a otro servidor que no sea el tuyo sólo se puede hacer si cumples algunas condiciones:

Cita:
Sugerencia: Puede usar una URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más detalles sobre cómo especificar el nombre de fichero y Apéndice M una lista de protocolos URL soportados
más info:
www.php.net/readfile


Un saludo,
  #3 (permalink)  
Antiguo 08/09/2005, 06:39
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 0
Si, eso lo he leido ya. De hecho intente utilizar un código de esa página, pero nada.

Además, según veo, el fopen lo utilizan en combinación con el fread, ya que lo que debuelve fopen se lo pasa como parámetro a fread. Como utilizo entonces fopen con readfile?

Y luego, eso de los fopen wrappers... no se la verdad, que tengo que preguntar, a mi host??

Pero... si puedo insertar imágenes remotas en los post, no entiendo porque no voy a poder recuperarlas con readfile. De todas, que se utiliza en los post (phpBB en mi caso) para insertar imágenes??

Seguiré trasteando pero si alguien sabe como resolver esto que por favor lo postee aqui.

Saludos y gracias de nuevo
  #4 (permalink)  
Antiguo 08/09/2005, 06:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Además, según veo, el fopen lo utilizan en combinación con el fread, ya que lo que debuelve fopen se lo pasa como parámetro a fread. Como utilizo entonces fopen con readfile?
Lo primero es conocer que hace readfile() .. fijate que readfile() lee tu archivo y lo entrega al buffer de salida de PHP todo en una. fopen() .. fread() y demás sólo leen tu archivo ... (hacia una variable) .. de ahí tendrías que "volcarlo" al buffer de salida de PHP, esto último lo puedes hacer con un simple echo $tu_variable_que_contiene_lo_que_se_leyo;

Cita:
Y luego, eso de los fopen wrappers... no se la verdad, que tengo que preguntar, a mi host??
Lo puedes ver tu mismo en un phpinfo() que te hagas .. en el bloque "PHP Core" ahí de las primeras directivas aparece:
allow_url_fopen

dirá "ON" u "OFF" .. si dice OFF .. olvidate de usar readfile() o fopen() de forma remota .. habría que usar otras técnicas.

Cita:
Pero... si puedo insertar imágenes remotas en los post, no entiendo porque no voy a poder recuperarlas con readfile. De todas, que se utiliza en los post (phpBB en mi caso) para insertar imágenes??
No sé como funciona phpBB .. pero puede ser simplemente que tome el URL y componga un tag de imagen:

<src img="$url">

y listo ..


Un saludo,
  #5 (permalink)  
Antiguo 08/09/2005, 07:59
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 0
Gracias por responder tan rápido, ire mirando e informando


--- editado ---

allow_url_fopen = off

Alguna otra idea¿?

Última edición por Mosiah; 08/09/2005 a las 08:07
  #6 (permalink)  
Antiguo 08/09/2005, 11:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Mosiah
Gracias por responder tan rápido, ire mirando e informando


--- editado ---

allow_url_fopen = off

Alguna otra idea¿?
En ese caso .. podrías usar conexión por sockets (no sé si afecta también a ese grupo de funciones esa directiva). De esta forma realizas la conexión bajo el protocolo HTTP completa por tus médios (sockets) .. es más complicado y de hecho es lo que implementa por ejemplo "readfile()" si se le permite el acceso remoto, pero en principio podrías conseguir tu objetivo:

http://www.php.net/fsockopen

Un ejemplo de uso completo (además del que tienes en la documentación oficial):
http://www.bigbold.com/snippets/posts/show/530

Pero ojo ... si usas podría ser que tuvieras también desactivado el uso de sockets en tu servidor .. (sobre todo creo que si usas SAFE MODE a off .. ahí no puedes usarlo?).

Un saludo,
  #7 (permalink)  
Antiguo 12/09/2005, 02:29
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 0
Me parece que me estoy quedando sin opciones :((

Tampoco puedo usar fsockopen, esta en la lista de disable_functions :_(

Creo que la única opción que voy a tener es la de insertarla directamente con un tag de html, aunque entonces no podría usar la función php que hace la vista en miniatura.

¿Sabeis alguna otra opción con la que podría recuperarme las imágenes?
  #8 (permalink)  
Antiguo 12/09/2005, 06:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
¿Sabeis alguna otra opción con la que podría recuperarme las imágenes?
mnm. que tal cambiarse de servicio de hosting? .. No es broma .. si tu aplicación lo requiere busca otro que ofrezca lo que requieres "Ley de mercado".

Aunque realmente hay muchos que no permiten todo eso, el "abuso" ha hecho que los servicios de hosting (nuestros proveedores) cierren todas esas opciones para que no lo uses con otros fines (descargas de Warez, Video/audio ... etc) que consumen en exceso los anchos de banda de esos servidores.

Un saludo,
  #9 (permalink)  
Antiguo 13/09/2005, 02:58
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 0
Pues me parece que al final voy a tomar tu última solución Cluster

Por un poco de dinero me evito todos esos baners infernales de los host gratuitos, andar racaneando con el espacio y buscandote la vida para poder hacer una cosa que por restricciones no se puede hacer de otra forma mucho más fácil (aunque así se trastea mucho más ).

Al final creo que me voy a decidir por www.hostgo.com, he visto a gente que habla bien de él, y la calidad precio me parece muy buena. El único pero es que está en inglés pero bueno, lo merece...

Saludos y gracias Cluster por todas tus respuestas
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 10:25.