Créer un avatar qui change aléatoirement en PHP

Dans ce nouveau tutoriel vous allez apprendre à faire un avatar qui change aléatoirement et on va améliorer ce script en donnant la possibilité à un visiteurs de choisir parmi une liste d’images notre avatar. C’est pas franchement utile mais c’est à la mode en ce moment sur les forum et en plus ça va nous permettre s’aborder plusieurs notions comme les .htaccess, les manipulations de fichiers en php et les headers.
(Par contre, je suis désolé mais je me suis emmêlé les pinceaux et du coup le tutoriel est inversé, au début on fait le truc « compliqué » et à la fin je montre comment faire un avatar aléatoire tout simple …)

Bon, le principe est assez simple et je pense (j’espère) que vous avez compris l’essentiel. Néanmoins il y a plusieurs points délicat, par exemple la manipulation de fichier en PHP.  Ce n’est pas franchement compliqué, d’autant plus que je pense avoir insisté sur ça mais je vous conseille de lire ce tutoriel. De même pour les htaccess, c’est vraiment utile dans certaines situations, mais c’est aussi assez compliqué (d’ailleurs j’avoue que je ne maitrise pas bien le sujet …), mais vous pouvez allez voir ce tutoriel, qui donne quelques exemples de ces fonctionnalités.

Maintenant les scripts :

Le script qui permet juste de faire un avatar aléatoire (le plus simple, le truc que j’explique en fin de tutoriel):

<?php 
header('Location: avatar-'.mt_rand(1,10).'.png'); 
?>

La partie en PHP de la page principale qui sert à afficher les images (pour le design utilisé : cliquez ici) :

<?php
$i=1; 
		
while ($i<=10) // tant que i est <= a 10 :
	{
		echo '<a href="avatar.php?image='.$i.'"><img src="images/avatars/avatar-'.$i.'.png" /></a>'; 		
                $i++; 
	}
		
?>

Le script de la page avatar.php :

<?php

if(isset($_GET['image']) AND $_GET['image']>0 AND $_GET['image']<=10 ) 
	{
	
	$image=intval($_GET['image']);  
	
	$fichier = fopen('image.txt', 'w');
	fseek($fichier, 0); 
	fwrite($fichier, $image);
	fclose($fichier); 
	header('Location: index.php'); 
	
	}
	else
	{
	
	$fichier = fopen('image.txt', 'r+'); 
	$image = fgets($fichier); 
	header('Location: images/avatars/avatar-'.$image.'.png'); 
	close($fichier);
	
	}
?>

Et pour finir le .htaccess :

RewriteEngine on
RewriteRule ^avatar\.jpg$ avatar.php [L]

Avant de terminer ce tutoriel, je tient a remercier l’auteur de ce tutoriel la, en effet c’est grâce à ce tutoriel que j’ai appris la technique du header, donc du coup je pense que je me doit de le citer :).

Voila, le tutoriel est fini, j’espère que vous avez tout compris, si vous avez des questions ou des remarques, les commentaires sont la pour ça 🙂 .