Foros del Web » Programando para Internet » PHP »

MVC problema con Header("Content-type: image/jpeg");

Estas en el tema de MVC problema con Header("Content-type: image/jpeg"); en el foro de PHP en Foros del Web. Hola, tengo un pequeño MVC que por la las url incluye un archivo controlador y el método al igual que la vista.Por ejemplo si la ...
  #1 (permalink)  
Antiguo 20/02/2015, 05:58
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 6 meses
Puntos: 0
MVC problema con Header("Content-type: image/jpeg");

Hola, tengo un pequeño MVC que por la las url incluye un archivo controlador y el método al igual que la vista.Por ejemplo si la url carga localhost/home/ hace un include de homecontrolador.php, homemodelo.php homevista.php en esto archivos estan las clases con el mismo nombre así como se crea un objeto. Por lo que si quiero acceder a un método de un controlador solo tengo que hacer.

localhost/home/index/

Esto me coloca en el controlador home, método index.Sobre este script se incluyen librerias pdf etc.

Esto esta bien no hay problemas, mi problema esta a la hora de generar una imagen:

Código PHP:
Ver original
  1. Header("Content-type: image/jpeg");
  2.     $im = imagecreate(200,200);
  3.     Imagejpeg($im);
  4.     Imagedestroy($im);

Si esto lo cargo desde un archivo por ejemplo imagen.php y lo ejecuto perfecto, pero si o hago desde un método con lo que comente antes se muestra el error "la imagen contiene errores."

Alguna idea un saludo
  #2 (permalink)  
Antiguo 20/02/2015, 09:43
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: MVC problema con Header("Content-type: image/jpeg");

Publica el código que esta relacionado al problema, tu explicación y ejemplo no ayudan mucho
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 20/02/2015, 10:49
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: MVC problema con Header("Content-type: image/jpeg");

Hola, lo pongo en tres archivos index.php - homecontrolador.php - .htaccess. Si se entra desde http://localhost/post/ se accede al método index de home controlador.
También se puede acceder http://localhost/post/home/index/ controlador y método. Independiente en eso no hay error el problema como comente antes es a la hora de generar la imagen en el método index.php cuando falla el header der imagen.

UN saludo y gracias




Código Apache:
Ver original
  1. .htpassword
  2.  
  3. AddDefaultCharset utf-8
  4. RewriteEngine On
  5.  
  6. RewriteBase /post/
  7. RewriteCond %{REQUEST_FILENAME} !-f
  8. RewriteCond %{REQUEST_FILENAME} !-d
  9.  
  10. RewriteRule (.*)/(.*)$ index.php?url=$1 [L,QSA]




Código PHP:
Ver original
  1. //index.php
  2.        <?php
  3.  
  4.      
  5.         error_reporting(E_ALL);
  6.         ini_set("display_errors", 1);
  7.          
  8.  
  9.  
  10.  
  11.         DEFINE('URL','http://'.$_SERVER['SERVER_NAME'].'/post/');
  12.         DEFINE('HOST',$_SERVER['DOCUMENT_ROOT'].'/post/');
  13.  
  14.         //RUTA DE SERVER
  15.         DEFINE('RUTA', 'http://'.$_SERVER['SERVER_NAME']);
  16.         //RUTA
  17.         DEFINE('SERVER_RUTA', 'controlador/');
  18.         //RUTA CARPETA IMG
  19.         DEFINE('IMG', '/media/img/');
  20.         //Tiempo de Session en minutos
  21.         DEFINE('SESSION_MINUTES', 1);
  22.         //Nombre del sitio
  23.         DEFINE('SITE_NAME', '');
  24.      
  25.  
  26.         if (isset($_GET['url']) && $_GET['url']) {
  27.                 $url = filter_input(INPUT_GET, 'url', FILTER_SANITIZE_URL);
  28.                 $url = explode('/', $url);
  29.                 $url = array_filter($url);
  30.  
  31.                 $controlador = strtolower(array_shift($url));
  32.  
  33.                 $metodo = strtolower(array_shift($url));
  34.  
  35.                 $params = $url;
  36.             }
  37.  
  38.             if (!isset($controlador) ) {
  39.                 $controlador = 'home';
  40.                 $metodo = 'index';
  41.                 $params = array();
  42.             }
  43.  
  44.         $GLOBALS['controlador'] = $controlador;
  45.         $GLOBALS['metodo'] = $metodo;
  46.         $GLOBALS['params'] = $params;
  47.  
  48.         $path = HOST . '' . $controlador . 'Controlador.php';
  49.    
  50.             if (is_readable($path)) {  
  51.                 require_once $path;
  52.                 $objControlador = $controlador . 'Controlador';
  53.                 $objControlador = new $objControlador();
  54.  
  55.                 if ( !is_callable(array($objControlador, $metodo)) ) {
  56.                     $metodo = 'index';
  57.                 }
  58.  
  59.                 if ( count($params) ) {
  60.                     call_user_func_array( array( $objControlador, $metodo ), $params);
  61.                 }
  62.                 else {
  63.                     call_user_func( array($objControlador, $metodo) );
  64.                 }
  65.             }
  66.             else {
  67.                 header('Location: '.URL);
  68.             }
  69.          
  70.     ?>




Código PHP:
<?php

//homecontrolador.php

class homeControlador {

    public function 
__construct() {
     
    }

   
    public function 
index() {



    
Header("Content-type: image/jpeg");
        
$im imagecreate(200,200);
        
Imagejpeg($im);
        
Imagedestroy($im);


    }
    


}
?>
  #4 (permalink)  
Antiguo 20/02/2015, 11:53
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: MVC problema con Header("Content-type: image/jpeg");

Algo estas pasando por alto, por que debe de funcionar de esa forma
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 22/02/2015, 19:17
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: MVC problema con Header("Content-type: image/jpeg");

Cuando Elimino los espacios desues y antes de <?php ?> funciona en este ejemplo pero en el que tengo con clases cargadas con include en el index.php no, alguna ides?
  #6 (permalink)  
Antiguo 23/02/2015, 08:35
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: MVC problema con Header("Content-type: image/jpeg");

Revisa que no estes imprimiendo algo antes de enviar el header
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #7 (permalink)  
Antiguo 23/02/2015, 12:58
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: MVC problema con Header("Content-type: image/jpeg");

Hola hhs, no se imprime nada si hago la vista del método aparece la página en blanco. En nigún archivo hay espacios antes del <?php ?>.

Un saludo

Etiquetas: mvc
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 22:41.