Foros del Web » Programando para Internet » PHP » Zend »

Problemas mostrando imagen desde directorio privado

Estas en el tema de Problemas mostrando imagen desde directorio privado en el foro de Zend en Foros del Web. Hola a todos, He creado un action en mi aplicacion para mostrar las imagenes que yo quiero en funcion del usuario que esta logeado. Este ...
  #1 (permalink)  
Antiguo 15/12/2012, 06:32
 
Fecha de Ingreso: junio-2008
Mensajes: 175
Antigüedad: 15 años, 10 meses
Puntos: 11
Problemas mostrando imagen desde directorio privado

Hola a todos,

He creado un action en mi aplicacion para mostrar las imagenes que yo quiero en funcion del usuario que esta logeado.

Este action sencillamente comprueba que el usuario este logeado y en caso afirmativo coge de la BDD la ruta a la imagen que se le pasa por parametro.

El codigo para mostrar la imagen es el siguiente:

Código PHP:
$visible $this->_fotos->esVisible($foto);
        
        if(
$visible != false){   
            
$file $this->_fotos->muestraFoto($visible);
            
$bits file_get_contents('C:\wamp\www\retratodemibebe\application\data\uploads\pics\prueba8_gmail\13555731350.jpg');
            
$this->_response->setHeader('Content-Type'$visible['tipo']);
            
$this->_response->setBody($bits);             
        }
        else{
            exit();
        } 
El metodo visible() sencillamente devuelve un array con el nombre de la imagen, directorio en el que está alojada y tipo MIME.

Esta funcion hasta hace un momento funcionaba estupendamente, pero de un momento a otro ha dejado de funcionar sin explicacion aparente. En lugar de mostrar la imagen muestra el tipico icono de cuando no se puede obtener una imagen. Es algo inexplicable por que como he dicho, funcionaba correctamente y si hago un var_dump($bits) me sale una tira de bytes indicando que la imagen la ha leido correctamente.

Ejemplo:

Tengo la imagen en el directorio C:\wamp\www\retratodemibebe\application\data\uploa ds\pics\prueba8_gmail\13555731350.jpg

Bien, hago lo siguiente:

Código PHP:
if($visible != false){   
            
$file $this->_fotos->muestraFoto($visible);
            
var_dump($visible);
            
var_dump($file);
            
$bits file_get_contents($file);
            
var_dump($bits);
        }
        else{
            exit();
        } 
y el resultado es

Código PHP:
array (size=3)
  
'directorio' => string 'prueba8_gmail' (length=13)
  
'nombre' => string '13555731350.jpg' (length=15)
  
'tipo' => string 'image/jpg' (length=9)

string 'C:\wamp\www\retratodemibebe\application\data\uploads\pics\prueba8_gmail\13555731350.jpg' (length=87)

string '�����Adobe�d������1jExif��MM�*����    �����������
�����������������(�������2��������i���������������J���� ���z��f������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������'
... (length=4473867
COmo veis, la imagen la esta leyendo pero no me la muestra por pantalla cuando antes si que lo hacia

Alguien sabría decirme que está pasando?

Gracias y un saludo
  #2 (permalink)  
Antiguo 15/12/2012, 18:05
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Problemas mostrando imagen desde directorio privado

Puede que el archivo no tenga permisos o que este corrupto, verifica eso
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #3 (permalink)  
Antiguo 16/12/2012, 02:53
 
Fecha de Ingreso: junio-2008
Mensajes: 175
Antigüedad: 15 años, 10 meses
Puntos: 11
Respuesta: Problemas mostrando imagen desde directorio privado

Cita:
Iniciado por Genetix Ver Mensaje
Puede que el archivo no tenga permisos o que este corrupto, verifica eso
Hola,

Ya está arreglado, gracias por la respuesta.

Resulta que había modificado el layout y al parecer tengo que desactivarlo al mostrar el response aunque no haya ninguna vista para ese action.

Saludos!

Etiquetas: directorio, privado, usuarios
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:25.