Foros del Web » Programando para Internet » PHP »

Cosa rara con includes y file_get_contents

Estas en el tema de Cosa rara con includes y file_get_contents en el foro de PHP en Foros del Web. Buenas a todos, Tengo un problema extraño, muy extraño. Tengo un servidor dedicado administrado. El caso es que tengo dos hosting. Cada uno tiene una ...
  #1 (permalink)  
Antiguo 16/11/2013, 13:03
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 11 años, 5 meses
Puntos: 10
Sonrisa Cosa rara con includes y file_get_contents

Buenas a todos,

Tengo un problema extraño, muy extraño. Tengo un servidor dedicado administrado. El caso es que tengo dos hosting. Cada uno tiene una ruta absoluta asi:

- /home/hosting_primero/www/
- /home/hosting_segundo/www/

El caso es que sorprendentemente si hago un include en el hosting "primero" con:

include('/home/hosting_segundo/www/miarchivosecreto.php');

El archivo se abre y se ejecuta. Es algo increible, en mi opinión que no este capado. Pero ese no es mi problema.

El caso es que si en miarchivosecreto.php tengo un file_get_contents a una imagen este no hace efecto y no se abre. Ni muestra error ni nada, ni siquiera en los logs.

He comprobado que no tenga que ver con permisos o algo por estilo y tampoco, ya que he probado a subir los archivos con los mismos permisos de usuario y nada.

Me pregunto si existe otra forma de capturar el contenido de un archivo con php, algo parecido a include, que me permita abrir esa imagen, prefiero una alternativa a la solución, ya que sin errores ni nada... veo dificil saber que error da.

¿Que pensais?, buf cruzo los dedos para que alguien sepa una solución. Me hare su mejor amigo y le limpiare el coche los domingo.
  #2 (permalink)  
Antiguo 16/11/2013, 13:18
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Cosa rara con includes y file_get_contents

Si nos muestras como haces el llamado a la imagen
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #3 (permalink)  
Antiguo 16/11/2013, 14:12
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 11 años, 5 meses
Puntos: 10
Respuesta: Cosa rara con includes y file_get_contents

Buenas...

Lo hago asi de simple:

$file = file_get_contents ('/home/hosting_segundo/www/image.png');

El problema no es en si esa linea de codigo, ya que si la ejecuto desde el segundo hosting la imagen es capturada correctamente.

:D
  #4 (permalink)  
Antiguo 16/11/2013, 14:16
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Cosa rara con includes y file_get_contents

Nunca habia visto usar file_get_contents para mostrar imagenes, siempre uso la etiqueta <img>
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #5 (permalink)  
Antiguo 16/11/2013, 14:25
Avatar de AlejandroGalvez  
Fecha de Ingreso: noviembre-2013
Mensajes: 189
Antigüedad: 10 años, 5 meses
Puntos: 49
Respuesta: Cosa rara con includes y file_get_contents

Cita:
Iniciado por xSkArx Ver Mensaje
Nunca habia visto usar file_get_contents para mostrar imagenes, siempre uso la etiqueta <img>
Creo que trata de obtener la imagen para tratarla con PHP. No para mostrarla visualmente. En ese caso sería mejor que 0123 nos diga exactamente que trata de hacer con la imagen, para ver la mejor manera de abordar el problema.

De ante mano te digo que file_get_contents es complicado y da dolores de cabeza. Tampoco entiendo que contenido esperas extraer de la imagen, lo normal es utilizar esta función para extraer el contenido contenido de un archivo de texto:

http://php.net/manual/es/function.file-get-contents.php

Si te empeñas en mostrar la imagen con esta función, entonces necesitaras especificar las cabeceras adecuadas, lee este tema de debate:

http://stackoverflow.com/questions/4286677/show-image-using-file-get-contents
  #6 (permalink)  
Antiguo 16/11/2013, 14:46
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 11 años, 5 meses
Puntos: 10
Respuesta: Cosa rara con includes y file_get_contents

Buenas,

Sí... sí.. tenia que haberme explicado mejor. No tengo ningun problema en obtener la imagen, el codigo funciona perfectamente si ejecuto todo desde el hosting alojado en hosting_segundo.

El problema es que al llamar a ese archivo php desde otro dominio alojado en el mismo servidor la funcion file_get_contents no obtiene la imagen.

El problema no tiene nada que ver con headers ni nada por estilo. El problema es estrictamente hablando de la funcion file_get_contents, que no se si existe alguna configuarcion en PHP para envitar su uso entre dominios o algo...

El problema es que al funcion no devuelve ningun error.

:P
  #7 (permalink)  
Antiguo 16/11/2013, 14:59
Avatar de 0123  
Fecha de Ingreso: noviembre-2012
Ubicación: Entre la consola, el coda y un poco de photoshop
Mensajes: 263
Antigüedad: 11 años, 5 meses
Puntos: 10
Respuesta: Cosa rara con includes y file_get_contents

Bufffff....

Se que estas cosas pasan... tenia mal escrita la ruta base.... porraassss...

Jo**rrrrrr....

Muchas gracias a todosss!!
  #8 (permalink)  
Antiguo 16/11/2013, 15:05
Avatar de AlejandroGalvez  
Fecha de Ingreso: noviembre-2013
Mensajes: 189
Antigüedad: 10 años, 5 meses
Puntos: 49
Respuesta: Cosa rara con includes y file_get_contents

Ok, entonces tu problema es abrir un archivo que está en "otro hosting". Asegurate que en hosting_segundo tengas activado [URL="http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen"]allow_url_fopen[/URL] en php.ini. Aunque lo mejor sería que utilizaras [URL="http://php.net/manual/en/function.fsockopen.php"]fsockopen[/URL] o, recomendado, [URL="http://php.net/manual/en/book.curl.php"]cURL[/URL].

Pero si solo vas a mostrar una imagen... Por lo que más quieras utiliza <img> y olvídate del resto

EDIT: [URL] No me funciona... Mientras tanto:

allow_url_fopen: http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen
fsockopen: http://php.net/manual/en/function.fsockopen.php
cURL: http://php.net/manual/en/book.curl.php

Última edición por AlejandroGalvez; 16/11/2013 a las 15:08 Razón: Enlaces no funcionan

Etiquetas: includes
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 13:32.