

new!








|
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
Annotations des visiteurs :
  Pas d'annotation pour cette astuce. >> Poster une annotation sur cette astuce
  Retour à la liste des trucs et astuces
|

|