En el foro de mensajes de Enigmamusic (un site dedicado al grupo musical Enigma), tengo configurado como firma un script en PHP que lo que hace es rotar imgenes. Entonces, cada vez que ingresa alguien al post, va a ver imgenes diferentes, hacindolo un poco mas divertido. En este sencillo post, voy a ensearles como pueden hacer algo similar para sus pginas o para poner como firma en foros de mensajes (solo requiere PHP).
[ Firma dinmica - refresc para ver otra imgen]
Lo primero es lo primero: necesitamos las imgenes que vamos a rotar. Personalmente, en mi caso, son capturas de video del DVD de Enigma, pero puede ser cualquier cosa que ustedes prefieran. Una vez que hayamos seleccionado las imgenes, las guardamos todas en el mismo directorio con un prefijo, un nmero, por ej:
sig2.jpg
sig3.jpg
Una vez que tenemos nuestras imgenes, creamos un archivo con extensin PHP que contenga el siguiente cdigo:
$max = 11; //numero maximo de imagenes
$filename = "sig%s"; //nombre de nuestras imagenes
$rndNum = rand(1, $max);
$file = sprintf($filename, $rndNum);
header ( "Content-type: image/jpeg" );
readfile ( "imagenes/" . $file . ".jpg");
exit;
?>
El script tiene 3 puntos importantes a tener en cuenta
- La variable max debe tener la cantidad total de archivos. Entonces, si tenemos 3 archivos, ingresamos 3.
- El Content-type debe ser consistente con nuestros tipos de archivos – si nuestros archivos son JPG, debe ser image/jpeg, en cambio, si son GIF, debe ser images/GIF. El script no soporta que algunos archivos sean de un tipo, y otros de otro tipo.
- La funcin readfile debe contener el directorio real donde estn los archivos. Si bien mis archivos pueden estar en el directorio /firmas de mi sitio web, con poner /firmas no ser suficiente; tenemos que ingresar el path real de los archivos. Esto puede ser tedioso si no conocemos donde estn los archivos de nuestro hosting, por lo que yo recomiendo crear esta estructura de archivos:
- firmas [dir]
– imagenes [dir]
– archivo PHPDe esta manera nos ahorramos los problemas de tener que buscar el path real de los archivos
Espero que les sirva! Cualquier duda que tengan, pueden dejarme un comentario y tratar de resolverlo :)
Kylie Minogue - Almost A Lover




nu entendi XD
Comentario hecho por @Tyra — 18/6/2004 a las 3:31 am
Hola, encontre muy interesante el sistema para agregar una firma, en donde las imagenes van cambiando. segui los pasos al pie de la letra, pero no logre hacerlo funcionar. Cualquier ayuda sera bien recibida.
Comentario hecho por @shinok
— 18/6/2004 a las 3:42 am
Que error te est dando? As al aire, sin un poco ms de info, se complica un poco ayudar… :)
Comentario hecho por @Andrea
— 18/6/2004 a las 9:01 am
haber…primero renombre las imagenes para dejarlas todas con el mismo formato.
sig1.jpg …. sig5.jpg (5 imagenes)
Luego cree un archivo .php utilizando el cdigo. Cambie el max de 11 a 5.
En $filename lo deje tal cual como sale ahi (sig%s) y como no me resulto lo deje asi (sig).
El archivo .php lo deje en una carpeta “firma”, y las imagenes las tire en una carpeta “imagenes”, y quedo asi
imagenes/ [dir] // en el interior de esta carpeta estan la imagenes
.php // el archivo .php se encuentra en la carpeta “firma”, anterior a la carpeta “imagenes”.
Al final esto es lo que me muestra
http://emulechile.wwwpuntocom.com/firma/firma.php
Intente en otro sitio web… pero no paso nada.
Mi codigo final fue el siguiente
***********************
< ?php
$max = 5; //numero maximo de imagenes
$filename = "sig"; //nombre de nuestras imagenes
$rndNum = rand(1, $max);
$file = sprintf($fileName, $rndNum);
header ( "Content-type: image/jpeg" );
readfile ( "imagenes/" . $file . ".jpg");
exit;
?>
***********************
Comentario hecho por @shinok
— 18/6/2004 a las 3:00 pm
El $filename si o si tiene que contener el %s… por lo que debera quedarte “sig%s”… sino no puede reemplazar el valor randmico en la variable.
Tengo miedo que no te funcione por las cabeceras que est insertando tu host gratuito (los google ads)… porque necesita ser un archivo exclusivamente JPG… no puedes intentar en un sitio que no tenga publicidades?
Comentario hecho por @Andrea
— 18/6/2004 a las 3:09 pm
Si, tengo otro sitio sin publicidad. voy a intentar en el otro y te aviso. gracias por responder.
Comentario hecho por @shinok
— 18/6/2004 a las 3:22 pm
De nada! Sino cualquier cosa seguimos revisando qu es lo que pasa :)
Comentario hecho por @Andrea
— 18/6/2004 a las 3:31 pm
Volvi a seguir los pasos.. pero no tube mucha suerte.
Ahora lo subi aca
http://www.emulechile.cl/images/online/shinok/firma.php
no me muestra error en esta oportunidad, pero tampoco hay imagen
Este es el codigo que use.
**********************
< ?php
$max = 5; //numero maximo de imagenes
$filename = "sig%s"; //nombre de nuestras imagenes
$rndNum = rand(1, $max);
$file = sprintf($fileName, $rndNum);
header ( "Content-type: image/jpeg" );
readfile ( "imagenes/" . $file . ".jpg");
exit;
?>
***********************
Por favor fijate entre los espacio entre codigos. Talvez por ahi estoy cayendo. x ejemplo ( “imagenes/” . $file . “.jpg”)
Comentario hecho por @shinok
— 18/6/2004 a las 3:32 pm
ahora si.. no me muestra el codigo
< ?php
$max = 5; //numero maximo de imagenes
$filename = "sig%s"; //nombre de nuestras imagenes
$rndNum = rand(1, $max);
$file = sprintf($fileName, $rndNum);
header ( "Content-type: image/jpeg" );
readfile ( "imagenes/" . $file . ".jpg");
exit;
?>
disculpa los otros mensajes.
Comentario hecho por @shinok
— 18/6/2004 a las 3:33 pm
disculpa.. tienes msn.. podriamos hablar por ahi. Contactame en
adm_emulechile@hotmail.com
gracias
Comentario hecho por @shinok
— 18/6/2004 a las 3:34 pm
No te preocupes, el cdigo yo lo veo bien en los mails de aviso.
Intenta con esto, y dime que te imprime:
Comentario hecho por @Andrea
— 18/6/2004 a las 3:36 pm
ahi esta el error
http://www.emulechile.cl/images/online/shinok/firma.php
Parse error: parse error in /home/emulechile/images/online/shinok/firma.php on line 4
Comentario hecho por @shinok
— 18/6/2004 a las 3:37 pm
Si, ese error debe ser por la comilla rara que puse el wordpress… pero el error estaba en el cdigo que yo utilic, porque haba una variable que tena una N mayscula.
Intenta con ste cdigo y me avisas :)
Comentario hecho por @Andrea
— 18/6/2004 a las 3:41 pm
Por cierto, cuidado con las comillas! El wordpress las est reemplazando, en el archivo PHP tienes que tener las comillas comunes, no las formateadas.
Comentario hecho por @Andrea
— 18/6/2004 a las 3:44 pm
Perdona por la molestia… pero me ha salido el mismo error. :(
Comentario hecho por @shinok
— 18/6/2004 a las 3:45 pm
voy a probar lo de las comillas
Comentario hecho por @shinok
— 18/6/2004 a las 3:46 pm
Puedes enviarme el archivo por mail? Lo reviso y te lo envio de nuevo… peorth @ gmail.com
Comentario hecho por @Andrea
— 18/6/2004 a las 3:47 pm
Ya lo envie. Gracias
Comentario hecho por @shinok
— 18/6/2004 a las 3:52 pm
Ahi lo recibi.
Lo probe y me funciono de inmediato!!
Muchas gracias Andrea. te pasaste
http://www.emulechile.cl/images/online/shinok/firma.php
Estube revisando tu pagina y esta muy interesante.
Muchas gracias por toda la ayuda
Comentario hecho por @shinok
— 18/6/2004 a las 4:11 pm
De nada! Me alegro mucho que te haya funcionado :aww:
Comentario hecho por @Andrea
— 18/6/2004 a las 4:16 pm
como lo hago si tengo 4 firmas en jpg yo hice estoy no se si esta bien:
< ?php
$max = 4; //numero maximo de imagenes
$filename = "sig"; //nombre de nuestras imagenes
$rndNum = rand(1, $max);
$file = sprintf($filename, $rndNum);
header ( "Content-type: image/jpeg" );
readfile ( "imagenes/" . $file . ".jpg");
exit;
?>
Comentario hecho por @Jeko — 27/10/2004 a las 8:19 pm
me salio un codigo como este
readfile(firmas/sig2.jpg): failed to open stream: No such file or directory in /home/webcindario/jeko/firmas/dinamicas.php
Comentario hecho por @jeko — 28/10/2004 a las 11:15 am
No muestra las imagenes…. una duda tengo:
$filename = “sig%s”; //nombre de nuestras imagenes, en ese codigo… teniendo yo 3 imagenes… me deberia quedar asi??
$filename = “la1%s”; “la2%s”; :la3%s”
Por favor ayudenme como a shinok… me interesa bastante estas imagenes
Comentario hecho por @manuel — 1/1/2005 a las 2:37 am
Manuel: Te respond la duda por mail
Comentario hecho por @Andrea
— 1/1/2005 a las 4:52 pm
Hulla!!, sabes?, no me funciona el codigo, tengo 1 carpeta ke se llama sigs, y dentro tengo 4 imagenes “sig1, sig2, sig3, sig4″ todas en jpg.
lo ke yo no se si eske.. tengo ke tener 2 carpetas, y si me sirve un block de notas para hacer un “archivo php”.
ayudame porfavor!… Gracias.. n_n [mi mail sirve para msn por siacaso]
Comentario hecho por @GarneT — 2/4/2005 a las 7:31 pm
hola!!
tengo un par de dudas en
readfile ( “imagenes/” . $file . “.jpeg”);
envez de imagenes devo poner toda la direccion de mis firmas? por ejemplo
http://usuarioslycos.com/chrnolegacy/imagenes/sig1.jpg
y asi para las 4 imagenes? o “imagenes/” debo poner el nombre de la carpeta donde estan las imagenes?
y el archivo .php debo subirlo directo al directorio de webhosting o debe ir dentro de alguna carpeta en especial?
eso nomas es mi duda gracias =)
Comentario hecho por @chrno
— 11/4/2006 a las 1:03 pm
wow, si que funciona, asi de simple esta, gracias Andrea :)
Comentario hecho por @Guss_ — 9/8/2009 a las 12:40 pm