Foros del Web » Programando para Internet » PHP »

problema al mostrar imagen dinamica

Estas en el tema de problema al mostrar imagen dinamica en el foro de PHP en Foros del Web. quiero mostrar una imagen y ponglo lo siguiente: Código: <img src="foto.php"/> donde foto.php Código: <?php $image = "toro.gif"; header("Content-type: image/gif"); // or whatever echo $image; ...
  #1 (permalink)  
Antiguo 24/06/2008, 08:10
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 4 meses
Puntos: 0
problema al mostrar imagen dinamica

quiero mostrar una imagen y ponglo lo siguiente:
Código:
<img src="foto.php"/>
donde foto.php
Código:
<?php 

$image = "toro.gif"; 
header("Content-type: image/gif"); // or whatever 
echo $image;  
>?
la idea del codigo es esa, mostrarlo de ese modo, pero me da error, no entiendo porque, si toro.gif esta alli en la misma carpeta
que estoy haciendo mal?
  #2 (permalink)  
Antiguo 24/06/2008, 08:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema al mostrar imagen dinamica

Hola drakolive,

Lo que pasa es que tu tienes que enviar el contenido binario de tu archivo, no el nombre, prueba esto:
Código PHP:
<?php 

$image 
"toro.gif"
header("Content-type: image/gif"); // or whatever 
readfile($image);
?>
Saludos.
  #3 (permalink)  
Antiguo 24/06/2008, 08:33
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problema al mostrar imagen dinamica

sale la partte donde va la imagen y si hago click aparece esto:
tampoco va:
The image “http://localhost/foto.php” cannot be displayed, because it contains errors.


que sucede?

PD:Gracias por tu pronta respuesta, pero el problma sige
  #4 (permalink)  
Antiguo 24/06/2008, 08:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema al mostrar imagen dinamica

Prueba hacer esto:
Código PHP:
<?php 
$image 
"toro.gif";
if(!
file_exists$image ) ) {
       die( 
"La imagen $image no existe" );
}
header("Content-type: image/gif"); // or whatever 
readfile($image);
?>
Eso nos dirá si la ruta es correcta o no.

Saludos.
  #5 (permalink)  
Antiguo 24/06/2008, 09:02
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problema al mostrar imagen dinamica

No dice nada, el problema persiste....
esto me muestra el navegador:


si lo abro en mozilla, me sale algo parecido pero a lo que le doy click dorecho /ver imagen dice:
The image “http://localhost/foto.php” cannot be displayed, because it contains errors.
  #6 (permalink)  
Antiguo 24/06/2008, 09:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema al mostrar imagen dinamica

Mmmm muy raro, quita la cabecera de header y prueba de nuevo a ver que te muestra el readfile.

Saludos.
  #7 (permalink)  
Antiguo 24/06/2008, 09:11
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problema al mostrar imagen dinamica

si es raro, lo acabo de probar en un servidor de internet y tampoco va.
Gracias por tu ayuda ....
habia estado revisando esto:
http://www.buayacorp.com/archivos/mostrar-una-imagen-desde-blob-mysql-usando-php/
http://www.webmasterworld.com/forum88/11547.htm
http://www.forosdelweb.com/f18/problemas-con-img-src-photo-php-echo-foto-475237/

pero aun no consigo resolver mi problema!!!!!!!
:(
  #8 (permalink)  
Antiguo 24/06/2008, 09:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema al mostrar imagen dinamica

Cuando quitas la cabecera ¿que es lo que te muestra al entrar como http://localhost/foto.php?

Saludos.
  #9 (permalink)  
Antiguo 24/06/2008, 09:42
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problema al mostrar imagen dinamica

nada ...
podrias generar los archivos y probarlos localmente?
disculpa tanta molestia
  #10 (permalink)  
Antiguo 24/06/2008, 10:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema al mostrar imagen dinamica

Me refiero a esto:
Código PHP:
<?php 
$image 
"toro.gif";
if(!
file_exists$image ) ) {
       die( 
"La imagen $image no existe" );
}

readfile($image);
?>
Saludos.
  #11 (permalink)  
Antiguo 24/06/2008, 12:32
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problema al mostrar imagen dinamica

claro q eso probe, pero no funciona
  #12 (permalink)  
Antiguo 24/06/2008, 12:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema al mostrar imagen dinamica

Prueba esto:
Código PHP:
<?php 
$image 
"toro.gif";
if(!
file_exists$image ) ) {
       die( 
"La imagen $image no existe" );
}

//header("Content-Type: image/gif");
//header("Content-Length: " . filesize($image));

$fh fopen$image"rb" ) or die( "No se puede abrir $image" );
fpassthru$fh );
exit();
?>
Saludos.
  #13 (permalink)  
Antiguo 24/06/2008, 12:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: problema al mostrar imagen dinamica

seguro que es todo el código del archivo...??? quizá un espacio de mas, algún echo, etc, etc...

ej.
Código PHP:
<?php
$img 
'foo.png';
if (!
is_file($img))
// imagen de error...
  
$img 'error.png';
}
$read file_get_contents($img);

header('content-type: image/'.end(explode('.'$img)));
header('content-length: '.strlen($read));

echo 
$read;
exit;
?>
si este ejemplo (como los demás) no funciona, algo muy raro pasa... deveras!

YO pienso que hay algun espacio demas antes de <?php y/o después de ?> ya que Mozilla identifica el MIME de imagen, pero no la muestra :O .... uds. que opinan?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 24/06/2008, 12:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema al mostrar imagen dinamica

El problema es que si accesa directamente no le muestra errores, simplemente le dice que la imagen tiene problemas...

Mmm otra opción sería poner:
Código PHP:
<?php
ini_set
'display_errors''1' );
error_reportingE_ALL );

$image "toro.gif";
if(!
file_exists$image ) ) {
       die( 
"La imagen $image no existe" );
}

header("Content-Type: image/gif");
header("Content-Length: " filesize($image));

$fh fopen$image"rb" ) or die( "No se puede abrir $image" );
fpassthru$fh );
exit();
?>
Saludos.
  #15 (permalink)  
Antiguo 24/06/2008, 16:58
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problema al mostrar imagen dinamica

esto funciona, pero no funciona si intento cargar la imagen asi: localhost/photo.php

como logro eso? (por eso lo que postee al inicio era lo indicado, pero que error tiene).



photo.php
Código:
<?php 
$image = "toro.gif";
if(!file_exists( $image ) ) {
       die( "La imagen $image no existe" );
}

//header("Content-Type: image/gif");
//header("Content-Length: " . filesize($image));

$fh = fopen( $image, "rb" ) or die( "No se puede abrir $image" );
fpassthru( $fh );
exit();
?>
Gracias

Última edición por drakolive; 24/06/2008 a las 17:14
  #16 (permalink)  
Antiguo 24/06/2008, 20:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema al mostrar imagen dinamica

Que error te marca al abrirla como localhost/photo.php?

Saludos.
  #17 (permalink)  
Antiguo 24/06/2008, 21:53
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problema al mostrar imagen dinamica

osea me muestra la imagen como si la hubiera abierto con el block de notas.
  #18 (permalink)  
Antiguo 25/06/2008, 01:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: problema al mostrar imagen dinamica

falta el MIME, ahora si envíalo...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 25/06/2008, 07:15
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problema al mostrar imagen dinamica

como asi? pero en que parte lo pongo? al final?
  #20 (permalink)  
Antiguo 25/06/2008, 08:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: problema al mostrar imagen dinamica

Antes del fopen, ya están ahí las cabeceras, solo des-comentalas.

Saludos.
  #21 (permalink)  
Antiguo 26/06/2008, 19:37
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problema al mostrar imagen dinamica

no va, que estara pasando con php, al parecer esto no tiene solucion, o al menos aqui no se puede encontrar la solucion
  #22 (permalink)  
Antiguo 26/06/2008, 21:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: problema al mostrar imagen dinamica

realmente... es un problema fácil, que de verdad... y lo aseguro, bastantes ya hemos podido echar a andar.... no veo porque tu no....

si no encuentras la solución es porque no le pones el empeño necesario... si no lo crees, esperemos que alguien publique un ejemplo funcional... y si de verdad no te funciona, es que algo estas haciendo mal...

hasta el mas mínimo salto de linea o espacio puede corromper tu imagen... que si bien lo has dejado claro, si imprime su contenido binario... no veo cual sea la causa verdadera... pero lo mas probable es que sea un error humano, ya que PHP no falla... si lo escribes adecuadamente

te pido, que esperes algún aporte sencillo... y no pienses que el foro es inútil, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #23 (permalink)  
Antiguo 26/06/2008, 21:28
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 9 meses
Puntos: 6
Respuesta: problema al mostrar imagen dinamica

Esto tengo yo y me funciona de maravillas, solo necesito mostrar todas las imagenes de un usuario x, aun no se como, pero igual este te funcionaria

formulario
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Untitled Document</title>
</
head>
<
body>
<
form enctype="multipart/form-data" action="insert.php" method="post" name="changer">
<
input name="MAX_FILE_SIZE" value="102400" type="hidden" />
<
input name="image" accept="image/jpeg" type="file" />
<
input value="Submit" type="submit" />
</
form>
</
body>
</
html
Insertar
Código PHP:
// Create MySQL login values and 
// set them to your login information.
$username "root";
$password "";
$host "localhost";
$database "candente";

// Make the connect to MySQL or die
// and display an error.
$link mysql_connect($host$username$password);
if (!
$link) {
    die(
'Could not connect: ' mysql_error());
}

// Select your database
mysql_select_db ($database); 

// Make sure the user actually 
// selected and uploaded a file
if (isset($_FILES['image']) && $_FILES['image']['size'] > 0) { 

      
// Temporary file name stored on the server
      
$tmpName  $_FILES['image']['tmp_name'];  
       
      
// Read the file 
      
$fp      fopen($tmpName'r');
      
$data fread($fpfilesize($tmpName));
      
$data addslashes($data);
      
fclose($fp);
      

      
// Create the query and insert
      // into our database.
      
$query "INSERT INTO testblob ";
      
$query .= "(image) VALUES ('$data')";
      
$results mysql_query($query$link);
      
      
// Print results
      
print "Thank you, your file has been uploaded.";
      
}else{
   print 
"No image selected/uploaded";
}

// Close our MySQL Link
mysql_close($link); 
ver la foto
Código PHP:
//header('Content-type: image/jpg');
$username "root";
$password "";
$host "localhost";
$database "candente";

@
mysql_connect($host$username$password) or die("Can not connect to database: ".mysql_error());

@
mysql_select_db($database) or die("Can not select the database: ".mysql_error());

$id $_GET['image_ctgy'];

if(!isset(
$id) || empty($id)){
die(
"Please select your image!");
}else{

$query mysql_query("SELECT * FROM testblob WHERE image_ctgy='".$id."'");
$row mysql_fetch_array($query)
//while($row = mysql_fetch_array($query)){
    
$content $row['image'];
//}

header('Content-type: image/jpg');
echo 
$content;



Espero te ayude por que funciona perfecto, y espero que alguien me ayude a como mostrar mas de una foto...

Saludos
__________________
www.dataautos.com

Última edición por asinox; 26/06/2008 a las 21:40
  #24 (permalink)  
Antiguo 29/06/2008, 06:46
 
Fecha de Ingreso: junio-2008
Mensajes: 16
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problema al mostrar imagen dinamica

Gracias, veo que el script es para upload imagenes, lo revisare de todos modos..
gracias :P
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:49.