Tutorial "hacer firma en PHP"

Iniciado por duddits, 19 Febrero 2005, 18:07 PM

0 Miembros y 1 Visitante están viendo este tema.

duddits

Bueno antes que nada, debes de tener conocimientos simples en php,

aclarar que se tiene que tener la librería GD habilitada en el host




El primer comando que necesitas es,

<?php
Por logica, es el que abre cuando vamos a poner un codigo en php

Ahora tienes que decidir si quieres un texto o una imagen en tu firma...

header("Content-type: image/GIF");
header("Content-type: image/GIF"); ---> claro donde dice gif tu puedes escoger si cambiarlo por un JPEG JPG PNG etc....

$image = imagecreatefromGIF("sig.GIF"); ahora este es el comando para poner el fondo ya sea una imagen o un texto eso tu lo decides...

bueno ahora tenemos que poner el texto o textos que quieras que salgan en tu firma...++

$saying1 = "texto #1";
$saying2 = "12345678910";
$saying3 = "12345678910";
$saying4 = "12345678910";
$saying5 = "12345678910";


Puedes tener mas o menos dependiendo de el tamaño de el texto...
ahora pones Random Quotes o dichoes
$random = rand(1,2);
if ($random = "1")
$saying1 = "TECCTO";
$saying2 = "1222222222222";
$saying3 = "1233333333333";
$saying4 = "1234444444444";
$saying5 = "1234555555555";
} else if ($random == "2"){
$saying1 = "testo";
$saying2 = "tecto";
$saying3 = "Texto";
$saying4 = "";
$saying5 = "";
};


BUeno yo e puesto 2 random quotes
$random = rand(1,2);
Pero si quieres agregarle mas solo pon 1,3 y si quieres mas 1,3 etc...
$random = rand(1,3);

Bueno ahora una de las cosas que mas me gusta es lo de la ip :D

if ($_SERVER["HTTP_X_FORWARDED_FOR"]){
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}else{
$ip = $_SERVER["REMOTE_ADDR"];
}
$ip = explode(",", $ip);
$ip = "YOUR ip:".$ip[0];


trata de no cambiar nada asi el codigo no se arruina

$ip = "YOUR ip:".$ip[0]; ---> conformate con cambiar esto y ya

Ahora seguimos con los colores, la verdad es que el blanco y el negro se ven mal, asi que les escogi estos, claro ustedes pueden escoger el que quieran ;)
// COLORS
$black = imagecolorallocate($image, 0, 0, 0);
$white = imagecolorallocate($image, 250, 250, 250);
$orange = imagecolorallocate($image, 220, 210, 60);
$red = imagecolorallocate($image, 250, 0, 0);
$blue = imagecolorallocate($image, 0, 250, 0);
$green = imagecolorallocate($image, 0, 0, 250);
$grey = imagecolorallocate($image, 250, 250, 250);
$grey2 = imagecolorallocate($image, 140, 140, 140);
$grey3 = imagecolorallocate($image, 110, 110, 110);
$grey4 = imagecolorallocate($image, 90, 90, 90);
$grey5 = imagecolorallocate($image, 60, 60, 60);
$grey5 = imagecolorallocate($image, 250, 0, 250);
//end colors


Ahora vamos a poner donde va cada texto y el color de el texto....

//imagestring($image, fontsize, width, height, text, color);

imagestring($image, 3, 5, 50, $saying1, $grey);
imagestring($image, 3, 5, 60, $saying2, $grey2);
imagestring($image, 3, 5, 70, $saying3, $grey3);
imagestring($image, 3, 5, 80, $saying4, $grey4);
imagestring($image, 3, 5, 90, $saying5, $grey5);
imagestring($image, 3, 5, 50, $ip, $white);


Tienes que escoger el lugar exacto de donde quieres que vaya el texto si no se vera feo---

imagestring($image, 3, 5, 50, $ip, $white); y claro para cambiar de colores has eso....

despues va este codigo
imagepng($image);
imagedestroy($image);





la firma te deberia de quedar algo asi-...

<?php

header
("Content-type: image/GIF");

$image imagecreatefromGIF("sig.GIF");

$random rand(1,2);
if (
$saying1 "que paso paso paso";
$saying2 "1222222222222";
$saying3 "1233333333333";
$saying4 "1234444444444";
$saying5 "1234555555555";
} else if (
$random == "2"){
$saying1 "di lo que quieras";
$saying2 "con quien quieras";
$saying3 "cuando quieras";
$saying4 "";
$saying5 "";
};

if (
$_SERVER["HTTP_X_FORWARDED_FOR"]){
$ip $_SERVER["HTTP_X_FORWARDED_FOR"];
}else{
$ip $_SERVER["REMOTE_ADDR"];
}
$ip explode(","$ip);
$ip "YOUR ip:".$ip[0];

// COLORS
$black imagecolorallocate($image000);
$white imagecolorallocate($image250250250);
$orange imagecolorallocate($image22021060);
$red imagecolorallocate($image25000);
$blue imagecolorallocate($image02500);
$green imagecolorallocate($image00250);
$grey imagecolorallocate($image250250250);
$grey2 imagecolorallocate($image140140140);
$grey3 imagecolorallocate($image110110110);
$grey4 imagecolorallocate($image909090);
$grey5 imagecolorallocate($image606060);
$grey5 imagecolorallocate($image2500250);
//end colors

imagestring($image3550$saying1$grey);
imagestring($image3560$saying2$grey2);
imagestring($image3570$saying3$grey3);
imagestring($image3580$saying4$grey4);
imagestring($image3590$saying5$grey5);
imagestring($image35100$ip$white);

imagepng($image);
imagedestroy($image);
?>


y listo has terminado, espero hayan entendido a este pequeño y simple tutorial....

Saludos ;)

PD: se puede considerar que es mio, ya que lo que e hecho fue ver el codigo de una firma php ya hecha y explicar como hacerla yo mismo

-Riven-Ward-

Deberías aclarar que se tiene que tener la librería GD habilitada en el host... Bueno ya lo aclaré ;D.

Además, tienes una mezcla de cosas... Usa la función imagecreatefrompng() y la imágen que abres es .gif ... Y el soporte para imágenes .gif fue sacado en la versión 1.6 de GD. Eso lo pones en el principio, en la explicación. Y en el código ya terminado pones todo para .png .... Arregla eso ;D.

Salu2!

PD: La hiciste tu?
Usuario Banneado

duddits

#2
PD: se puede considerar que es mio, ya que lo que e hecho fue ver el codigo de una firma php ya hecha y explicar como hacerla yo mismo

Bueno ya e arreglado todo solo me falta aclara algunas cosillas ;)

y en el proximo post pondre unas cuantas cosas mas bonitas para tu firma php

Saludos ;)




Tambien puedes obtar por hacer una en http://www.danasoft.com/




duddits

#3
Bueno aqui les dejo una serie de comandos mas avanzados, los cuales le puedes agregar a tu firma hecha en php ;)




Para decir el explorador que usas tu y el que la ve
solo pon

<?php $browser "browser:";
if(!
$_SERVER["HTTP_USER_AGENT"]){
$browser .= "Unknown";
}else{
$browser .= $_SERVER["HTTP_USER_AGENT"];
?>


para poner el nombre de su host

<?php $hostname "host name:";
$hostname .= gethostbyaddr($_SERVER['REMOTE_ADDR']);
if(
$hostname == ""){
$hostname .= "no host found";
}else{
$hostname .= "";
}; 
?>


Para mostrar la pagina que quieren ver

<?php $requested "requested:";
if(!
$_SERVER["REQUEST_URI"]){
$requested .= "Unknown";
}else{
$requested .= $_SERVER["REQUEST_URI"];
?>


Para mostrar la pagina que estan viendo

<?php $showenfrom "showen from:";
if(!
$_SERVER["HTTP_REFERER"]){
$showenfrom .= $_SERVER["SCRIPT_NAME"] ;
}else{
$showenfrom .= $_SERVER["HTTP_REFERER"];
?>


y el tiempo

<?php
$time 
"the date and time is now:";
$time .="Day:";
$time .= date("l dS");
$time .= ", month:";
$time .= date("F");
$time .= ", Year:";
$time .= date("Y");
$time .= ", Time:";
$time .= date("h:i:s A");
?>





Bueno ademas de ponerlos en la firma estos ultimos comandos te pueden funcionar para ponerles en tu web, asi muestra ip navegador etc.....

Saludos

e puede considerar que es mio, ya que lo que e hecho fue ver el codigo de una firma php ya hecha y explicar como hacerla yo mismo

Unhappy

Muy buena guía, ahora entendí como hicieron esas firmas ;D

una pregunta, alguien conoce alguna forma de darle interacción a la firma?
como por ejemplo la de un .swf pero que figure como un .jpg o un .png, dado que los foros no me permiten subir un .swf

saludos


el-brujo

si alguien sabe alguna url o script para hacer una firma con uptime, memoria, procesador, disco duro, etc.... para linux en perl y que funciona bien



http://sigx.yuriy.net/

Otro para tener tu firma...

http://www.danasoft.com/



Otros:

What's Playing
http://whatsplaying.sourceforge.net/

Dynamic Signature Images
http://www.nuffsed.net/signature.php

Uptime-Project
http://www.uptime-project.net/page.php?page=home

Más ejemplos:








Aioria_de_leo

alguien sabe como hacer este script de las firmas....

http://www.aocgroup.com.ar/aoc/firma.php?nick=asasasasasas&&e=2image=10&fs=3&flag=200

ejemplo.. cambien el asasasasas por su nombre y miren como sale la imagen... y camien los numeros,,, algo deve de pasar....  ese script es el que necesito... :-X