Afficher une image avec du PHP

publicité
Afficher une image avec du PHP
Le PHP ne sert qu'à afficher des pages web ? Non non non ! PHP peut aussi s'afficher sous
forme d'image ! Les applications possibles sont alors sans limite !
Vous croyez sans doute que faire générer une image par PHP est fastidieux et demande les librairies
adéquates. Je vais vous montrer par exemple simple que ce n'est pas forcement le cas !
L'exemple : une image suivant l'heure
Le but de cette exercice est donc d'afficher, suivant l'heure de la journée, une image précise.
De minuit à 8 heures : dodo.gif
De 8 à 12h : matin.gif
De 12 à 14h : midi.gif
De 12 à 18h : pm.gif
De 18h à minuit : soir.gif
(Vous remarquerez mes talents de graphiste)
Le script PHP
Nous allons créer un fichier image.php.
La première étape et de faire comprendre au navigateur que nous allons lui envoyer une image et non
une page web avec les headers appropriés :
<?
header("Content-type: image/gif");
?>
Il suffit ensuite de regarder l'heure actuelle, et de selectionner l'image correspondante :
<?
$heure = date("H");
if($heure < 8)
$image = "dodo.gif";
elseif($heure >= 8 && $heure < 12)
$image = "matin.gif";
elseif($heure >= 12 && $heure < 14)
$image = "midi.gif";
elseif($heure >= 14 && $heure < 18)
$image = "pm.gif";
elseif($heure >= 18)
$image = "soir.gif";
?>
A ce stade, la variable $image à pour valeur le nom de l'image à afficher. Il est donc facile de joindre
l'image correspondante (en supposant que les images soient dans le même repertoire que notre fichier
image.php) :
<?
readfile($image);
?>
Voici donc le script complet du fichier image.php:
<?
header("Content-type: image/gif");
$heure = date("H");
if($heure < 8)
$image = "dodo.gif";
elseif($heure >= 8 && $heure < 12)
$image = "matin.gif";
elseif($heure >= 12 && $heure < 14)
$image = "midi.gif";
elseif($heure >= 14 && $heure < 18)
$image = "pm.gif";
elseif($heure >= 18)
$image = "soir.gif";
readfile($image);
?>
Il vous suffit ensuite d'appeler ce fichier dans n'importe quelle page comme si vous appeliez une image :
<img src="image.php" alt=""/>
Résultat :
Applications possibles et limites :
Si le fait d'afficher une image suivant l'heure n'est pas vraiment utile, les applications possibles sont
multiples :
Compteur façon Xiti, gestionnaire de publicité, etc ...
Au niveau des limites, il vous est impossible de cete façon de créer un compteur classique autrement
qu'en créant des images allant de 1 à 10000000 ... Fastidieux ! Pour réaliser de telles applications, vous
devrez passer par les fonctions images de PHP, à conditions que les librairies appropriés soient installées.
Voir aussi : Création d'images à l'aide des libs GD et TTF
Téléchargement