Dans ce nouveau tutoriel TCheval, nous allons créer une image aléatoire en PHP !
Commencer donc par ouvrir votre logiciel de codage préféré (pour un code aussi simple que celui-ci le bloque note suffira !).
Dans un nouveau document vierge copié/collé se code PHP que nous allons expliquer plus loin...
<?php
$nbmax = NN; // Nombre d'images (ex: 12)
$prefix = 'PREFIXE'; // Texte situé devant le numéro de l'image (ex: avatar)
$ext = '.png'; // Extension des fichiers (ex: .jpg)
// NE PAS TOUCHER A LA SUITE
$gnu = rand (1,$nbmax);
switch ($ext) {
case ".jpg":
case ".jpeg":
header('Content-type: image/jpeg');
break;
case ".gif":
header('Content-type: image/gif');
break;
case ".png":
header('Content-type: image/png');
break;
}
$file = $prefix.$gnu.$ext;
if (!($img=readfile($file))) die('erreur');
echo $img;
?>
Enregistrer ce code avec comme nom : image.php
Maintenant, je vous explique le code !
Vous avez d'abord sa $nbmax = NN; ce code donnera au générateur le nombre d'images que vous avez. Il faut donc changer NN par le nombre de fichiers que vous avez.
Ensuite vous avez $prefix = 'PREFIXE'; ici, vous devez indiquer le nom de vos images avant le numéro. Remplacer PREFIXE par le nom.
Le troisième code à modifier et le suivant : $ext = '.png'; ici, vous devez indiquer au générateur le type de fichier que vous avez. Remplacer alors .png par le type de votre fichier (supporter : .gif, .png, .jpg, .jpeg).
Pour récapituler, si vous avez 13 images s'appellent avatar1.png, avatar2.png etc... vous devrez configurez le code ainsi :
$nbmax = 13; // Nombre d'images (ex: 12)
$prefix = 'avatar'; // Texte situé devant le numéro de l'image (ex: avatar)
$ext = '.png'; // Extension des fichiers (ex: .jpg)
Ensuite le générateur est cette ligne de code : $gnu = rand (1,$nbmax); vous pouvez remplacer le "1" par n'importe quel chiffre, mais c'est inutile ! Donc, c'est ce code qui va générer l'aléation !
Après vous avez quelques lignes comme celle-ci :
case ".png":
header('Content-type: image/png');
break;
ce sont les fichiers supportés par le générateur...
Ce code-ci : $file = $prefix.$gnu.$ext; génère le nom du fichier, il mais dans l'ordre le nom du fichier (ex: avatar) + le numéro du fichier (ex: 8) + le type du fichier (ex: .png).
Ce code s'occupe des erreurs (s’il y en a) if (!($img=readfile($file))) die('erreur');
Et enfin celui-ci affiche l'image aléatoire ainsi créer echo $img; !
Vous avez maintenant créé votre fichier PHP !
A oui juste un petit truc : vos images doivent se trouver dans le même fichier que le .php !
Maintenant que vous avez généré votre image aléatoire vous souhaiter peut-être (surement !) pouvoir l'afficher quelques par cette image ! Pour cela il faut un code de type <img src="image.png"> bien sûr, vous ne pouvez pas insérer un fichier PHP avec une balise comme celle-ci (il faudrais un PHP-Include ou bien une iFrame). Nous allons donc créer un fichier .jpg avec le fichier .php ! Bien sûr nous n'allons pas renommer notre fichier image.php en image.jpp, cela ne marchera pas ! Non ! Pous cela, nous allons créer un petit code en Htaccess.
Voici le code que vous allez devoir taper :
<Files "image.jpg">
ErrorDocument 404 /MON_DOSSIER/image.php
</Files>
Ce code marche en faite comme une Erreur404, sauf qu'il marchera qu'avec votre fichier image.php
Enregistrer ce code avec comme nom htaccess.txt (ou bien .html peut-importe).
Une fois que c'est fait, vous devez avoir un dossier avec dedans plusieurs fichiers : image.php, htaccess.txt, avatar1.png, avatar2.png, etc...
Uploader le tout sur votre FTP et une fois le chargement terminer vous n'avez plus qu'à modifier htaccess.txt en .htaccess (dans certains logiciels de FTP, le .htaccess disparais !).
Maintenant, vous n'avez plus qu'à vous rendre sur votre site internet, et d'aller a votre fichier image.jpg (qui n'existe en fait pas !).
Et voilà, vous avez réalisé une image aléatoire en PHP !
Voici une petite démonstration avec l'avatar de Chim3re et de Clemens :

Bonne journée sur TCheval !
PP (petite précision
) : afin de faire fonctionner se script il faut bien sur un hébergement PHP et Apache (pour le Htaccess), le script fonctionne impeccablement sur un FTP Free.fr.
Clément