Avatar personnalisé pour forum

Description

ce code fonctionne à l'aide d'un fichier .htaccess et d'un fichier PHP.
à l'aide d'un seul et meme lien on a le choix de l'image (aléatoire possible), on peut ajouter son pseudo, changer la taille et la couleur du pseudo.
pour plus d'info allez voir sur http://nananime.forumpro.fr/viewtopic.forum?t=6&start=30

PS: tout ceci ne sert à rien

Source / Exemple :


#fichier .htaccess
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^avatar_(.*)_(.*)_(.*)_(.*)\.png http://votre_site.fr/avatar.php?img=$1&nom=$2&px=$3&color=$4 [L] 

#fichier PHP
<?

// headers pour que le fichier soit bien interprété en temps qu'image
header("Content-type: image/png"); //Format de l'image
header("Expires: Mon, 01 Jul 2003 00:00:00 GMT"); // Date du passé
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Modifié continuellement
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache"); // Pas de cache

//choix de l'image par la variable img
	if (isset($_GET['img']))
	{
	$page = $_GET['img'];
		switch($img)
		{
			case 'shin': $bg =imagecreatefromgif("./shin.gif");break;
			case 'misato': $bg =imagecreatefromgif("./misato.gif");break;
			case 'nobuo': $bg =imagecreatefromgif("./nobuo.gif");break;
			case 'nana': $bg =imagecreatefromgif("./nana.gif");break;
			case 'hachi': $bg =imagecreatefromgif("./hachi.gif");break;
			case 'alea': $nbimages=5; //nombre d'images aléatoires
				$nomimages[1]="shin.gif";
				$nomimages[2]="misato.gif";
				$nomimages[3]="nobuo.gif";
				$nomimages[4]="nana.gif";
				$nomimages[5]="hachi.gif";
				srand((double)microtime()*1000000); //initialisation
				$affimage=rand(1,$nbimages); //variable qui gère une image aléatoire
				$bg =imagecreatefromgif($nomimages[$affimage]);break; //affiche l'image aléatoire
			case '' : $bg =imagecreatefromgif("./hachi.gif");break;
		}
	} else {
		$bg =imagecreatefromgif("./hachi.gif");
	}

// Couleur du Texte
if (isset($_GET['color'])) //recuperation de la couleur de la police dans l'adresse par la variable color
	{
	$page = $_GET['color'];
		switch($color)
		{
			case 'blanc': $textcolor = imagecolorallocate($bg, 0, 0, 0);break;
			case 'noir': $textcolor = imagecolorallocate($bg, 255, 255, 0);break;
			case 'rouge': $textcolor = imagecolorallocate($bg, 255, 0, 0);break;
			case 'bleu': $textcolor = imagecolorallocate($bg, 0, 0, 255);break;
			case 'vert': $textcolor = imagecolorallocate($bg, 0, 255, 0);break;
			case 'jaune': $textcolor = imagecolorallocate($bg, 255, 255, 0);break;
			case 'rose': $textcolor = imagecolorallocate($bg, 255, 0, 255);break;
			case '' : $textcolor = imagecolorallocate($bg, 175, 37, 0);break;
		}
	} else {
		$textcolor = imagecolorallocate($bg, 175, 37, 0);
	}  

//Chargement et configuration de la police (taille, police etc.)
	if (isset($_GET['px']))//recuperation de la taille de la police dans l'adresse par la variable px
	{
	$fontsize = $_GET['px'];
	} else {
		$fontsize = 20;
	}
putenv('GDFONTPATH=' . realpath('.'));
$font = './MATURASC.TTF';

//recuperation du non dans l'adresse par la variable nom
$nom = $_GET['nom'];

//Affichage du nom de l'utilisateur
imagettftext($bg, $fontsize, 00, 3, 30, $textcolor, $font, $nom);

//Création de l'image png
imagepng($bg);
imagedestroy($bg);

Conclusion :


bon nombre des astucces utilisées viennent de se site, donc merci à tous.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.