Foros del Web » Programando para Internet » PHP »

Creacion de imagen Dinamica

Estas en el tema de Creacion de imagen Dinamica en el foro de PHP en Foros del Web. generate.php Código PHP: <?php header ( "Content-type: image/png" );  $result  =  rand ( 1 ,  2 ); $foto1  =  file_get_contents ( 'unafoto.png' );  $foto2  =  file_get_contents ...
  #1 (permalink)  
Antiguo 07/01/2011, 10:38
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 14 años, 5 meses
Puntos: 1
Pregunta Creacion de imagen Dinamica

generate.php
Código PHP:
<?php
header
("Content-type: image/png"); 
$result rand(12);
$foto1 file_get_contents('unafoto.png'); 
$foto2 file_get_contents('otrafoto.png'); 
if (
$result "1") {
echo 
$foto1;
}
else{
echo 
$foto2;
}
?>
Photo.html
Código HTML:
<img src="generate.php"/> 
Me gustaria saber como crear una imagen dinamica.Graciaas
  #2 (permalink)  
Antiguo 07/01/2011, 10:43
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Creacion de imagen Dinamica

Saludos

Esta podría ser una opcion

1. Lees el fichero donde tienes las imagenes
2. capturas el nombre de la imagenes en un arreglo
3. Utilizas la funcion array_rand para seleccionarlas aleatoriamente.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 07/01/2011, 10:59
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Creacion de imagen Dinamica

Cita:
Iniciado por Nano_ Ver Mensaje
Saludos

Esta podría ser una opcion

1. Lees el fichero donde tienes las imagenes
2. capturas el nombre de la imagenes en un arreglo
3. Utilizas la funcion array_rand para seleccionarlas aleatoriamente.
Hmm sigo sin saber muy bien como hacerlo :S
  #4 (permalink)  
Antiguo 07/01/2011, 11:09
Avatar de atoBeto  
Fecha de Ingreso: abril-2008
Ubicación: B.C.S., México
Mensajes: 35
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: Creacion de imagen Dinamica

Si vas a desplegar la imagen por medio de la etiqueta HTML img, no es necesario crear una imagen desde PHP con el contenido de un archivo ya existente, como lo que pretendes hacer ahí:

Código PHP:
<?php
header
("Content-type: image/png"); 
$result rand(12);
$foto1 file_get_contents('unafoto.png'); 
$foto2 file_get_contents('otrafoto.png'); 
if (
$result "1") {
echo 
$foto1;
}
else{
echo 
$foto2;
}
?>
Código HTML:
<img src="generate.php" /> 
Además de que esa no es la manera de mostrar imágenes en HTML.

Apoyo lo que recomendó Nano_, con un arreglo que contenga la ruta a los archivos de las imágenes, es decir:

Código PHP:
<?php
$fotos 
= array();
$fotos[] = 'rutaALaFoto/unafoto.png'
$fotos[] = 'rutaALaFoto/otrafoto.png'
$indice array_rand($fotos);
echo 
$fotos[$indice];
?>
Y entonces sí, en tu HTML queda bien la referencia al archivo .php:

Código HTML:
<img src="generate.php"/> 
Referencia a la función array_rand: [URL="http://mx.php.net/manual/es/function.array-rand.php"]http://mx.php.net/manual/es/function.array-rand.php[/URL]

Última edición por atoBeto; 07/01/2011 a las 11:15
  #5 (permalink)  
Antiguo 07/01/2011, 11:24
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Creacion de imagen Dinamica

Cita:
Iniciado por atoBeto Ver Mensaje
Si vas a desplegar la imagen por medio de la etiqueta HTML img, no es necesario crear una imagen desde PHP con el contenido de un archivo ya existente, como lo que pretendes hacer ahí:

Código PHP:
<?php
header
("Content-type: image/png"); 
$result rand(12);
$foto1 file_get_contents('unafoto.png'); 
$foto2 file_get_contents('otrafoto.png'); 
if (
$result "1") {
echo 
$foto1;
}
else{
echo 
$foto2;
}
?>
Código HTML:
<img src="generate.php" /> 
Además de que esa no es la manera de mostrar imágenes en HTML.

Apoyo lo que recomendó Nano_, con un arreglo que contenga la ruta a los archivos de las imágenes, es decir:

Código PHP:
<?php
$fotos 
= array();
$fotos[] = 'rutaALaFoto/unafoto.png'
$fotos[] = 'rutaALaFoto/otrafoto.png'
$indice array_rand($fotos);
echo 
$fotos[$indice];
?>
Y entonces sí, en tu HTML queda bien la referencia al archivo .php:

Código HTML:
<img src="generate.php"/> 
Referencia a la función array_rand: [URL="http://mx.php.net/manual/es/function.array-rand.php"]http://mx.php.net/manual/es/function.array-rand.php[/URL]
Primero gracias porque no lo entendia muy bien

El generate.php me da la ruta de una imagen perfect
Pero image.html , sale un cuadrado indicando que la imagen no existe.

Image.html
Código HTML:
<img src="generate.php"/> 
Puse el codigo que me daste del generate.php , lo probe hasta con la cabezera de imagen/png.

Última edición por IDRID; 07/01/2011 a las 11:41
  #6 (permalink)  
Antiguo 07/01/2011, 11:51
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Creacion de imagen Dinamica

Pon el codigo en la misma pagina donde muestras la imagen.
Código PHP:
<?php
$fotos 
= array();
$fotos[] = 'rutaALaFoto/unafoto.png'
$fotos[] = 'rutaALaFoto/otrafoto.png'
$indice array_rand($fotos);
?>

<html>
<!-- blah blah blah todo tu codigo -->
<body>
<img src="<?php echo $fotos[$indice]; ?>" />
</body>
</html>
  #7 (permalink)  
Antiguo 07/01/2011, 12:05
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Creacion de imagen Dinamica

Cita:
Iniciado por Ronruby Ver Mensaje
Pon el codigo en la misma pagina donde muestras la imagen.
Código PHP:
<?php
$fotos 
= array();
$fotos[] = 'rutaALaFoto/unafoto.png'
$fotos[] = 'rutaALaFoto/otrafoto.png'
$indice array_rand($fotos);
?>

<html>
<!-- blah blah blah todo tu codigo -->
<body>
<img src="<?php echo $fotos[$indice]; ?>" />
</body>
</html>
Esque me gustaria usarlo para la etiqueta <img>.
  #8 (permalink)  
Antiguo 07/01/2011, 12:10
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Creacion de imagen Dinamica

En el codigo sigues usando la etiqueta <img> de todas maneras, solo que lo que contiene el archivo si lo pones aparte es una simple cadena y al <img> tratar de leerlo como archivo, no encuentra nada.
  #9 (permalink)  
Antiguo 07/01/2011, 12:17
Avatar de atoBeto  
Fecha de Ingreso: abril-2008
Ubicación: B.C.S., México
Mensajes: 35
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: Creacion de imagen Dinamica

Cita:
Iniciado por IDRID Ver Mensaje
Primero gracias porque no lo entendia muy bien

El generate.php me da la ruta de una imagen perfect
Pero image.html , sale un cuadrado indicando que la imagen no existe.

Image.html
Código HTML:
<img src="generate.php"/> 
Puse el codigo que me daste del generate.php , lo probe hasta con la cabezera de imagen/png.
No es necesaria la cabecera, porque lo que regresa ese código php es la ruta a la imagen que quieres colocar en tu <img>.

Revisa que las rutas que estás utilizando sean correctas.
  #10 (permalink)  
Antiguo 07/01/2011, 12:24
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Creacion de imagen Dinamica

Cita:
Iniciado por atoBeto Ver Mensaje
No es necesaria la cabecera, porque lo que regresa ese código php es la ruta a la imagen que quieres colocar en tu <img>.

Revisa que las rutas que estás utilizando sean correctas.

Código PHP:
<?php
$fotos 
= array();
$fotos[] = 'http://lh4.ggpht.com/_3dA46hUL0wI/TDhqEjcZ0sI/AAAAAAAAAhs/vY7THEZVES0/404-Sack.png'
$fotos[] = 'http://lh4.ggpht.com/_3dA46hUL0wI/TDhqEjcZ0sI/AAAAAAAAAhs/vY7THEZVES0/404-Sack.png'
$indice array_rand($fotos);
echo 
$fotos[$indice];
?>
Código HTML:
<img src="generate.php"/> 
Cuando miro image.html , dice que la ruta de la imagen es generate.php , cuando deberia de ser la que tiene el echo. :S
  #11 (permalink)  
Antiguo 07/01/2011, 12:29
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 11 meses
Puntos: 51
Respuesta: Creacion de imagen Dinamica

Acá tenés un error bastante grueso:

Código PHP:
Ver original
  1. if ($result = "1") {

es

Código PHP:
Ver original
  1. if ($result == "1") {

si no, estás asignando.

Primero que todo, tenés que probar que generate.php está mostrando la imagen o que muestra.

Otra cosa, los headers para imágenes y el file_get_contents no creo que puedas usarlos simplemente con un echo, creo que vas a tener que hacer una conversión hex antes.
  #12 (permalink)  
Antiguo 07/01/2011, 12:39
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Creacion de imagen Dinamica

Si sry me he confundido.

Este es el codigo actual:

generate.php
Código PHP:
<?php
$fotos 
= array();
$fotos[] = 'http://lh4.ggpht.com/_3dA46hUL0wI/TDhqEjcZ0sI/AAAAAAAAAhs/vY7THEZVES0/404-Sack.png'
$fotos[] = 'http://lh4.ggpht.com/_3dA46hUL0wI/TDhqEjcZ0sI/AAAAAAAAAhs/vY7THEZVES0/404-Sack.png'
$indice array_rand($fotos);
echo 
$fotos[$indice];
?>
photo.html
Código HTML:
<img src="generate.php"/> 
Cuando miro image.html , dice que la ruta de la imagen es generate.php , cuando deberia de ser la que tiene el echo. :S
  #13 (permalink)  
Antiguo 07/01/2011, 12:54
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 13 años, 11 meses
Puntos: 51
Respuesta: Creacion de imagen Dinamica

No, ahí estás errandole, por más que hagas un echo en generate.php no va reemplazar la url de tu imagen.

en todo caso podrías hacer como ya te han dicho o algo así:

generate.php:

Código PHP:
Ver original
  1. <?php
  2. $fotos = array();
  3. $fotos[] = 'http://lh4.ggpht.com/_3dA46hUL0wI/TDhqEjcZ0sI/AAAAAAAAAhs/vY7THEZVES0/404-Sack.png';
  4. $fotos[] = 'http://lh4.ggpht.com/_3dA46hUL0wI/TDhqEjcZ0sI/AAAAAAAAAhs/vY7THEZVES0/404-Sack.png';
  5. $indice = array_rand($fotos);
  6. echo '<img src="'.$fotos[$indice].'" />;
  7. ?>


luego hacer un include directo en tú código, justo donde está esto:

Código HTML:
Ver original
  1. <img src="generate.php"/>
  #14 (permalink)  
Antiguo 07/01/2011, 12:56
 
Fecha de Ingreso: mayo-2010
Mensajes: 118
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Creacion de imagen Dinamica

Ya decia yo , thanks

Etiquetas: dinamica
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:16.