C'est juste un ptit exercice de style avec GD.
Pour que cela fonctionne, vérifiez dans votre phpinfo() que la lib GD est bien installée.
Horloge selon les paramètres:
horloge.php

horloge.php?image=1

horloge.php?seconde=1

horloge.php?digit=1

horloge.php?digit=1&image=1

Code source:
<?php
/*
Horloge avec PHP et GD, by PaToJeuR
Email: patojeur@phpdesign.org
Site: http://www.phpdesign.org
IRC: #php @ irc.voila.fr:6667
#phpdesign @ irc.epiknet.com:6667
*/
//Format de l'image: png
header ("Content-type: image/png");
//Taille du texte
$taille=0;
//Paramètres à transmettre en GET, pour l'affichage ou non de l'heure digitale, de l'image, de l'aiguille des secondes
//$aff_digit=$_GET['digit'];
$aff_image=$_GET['image'];
// $aff_seconde=$_GET['seconde'];
//Définition de la taille de l'image
$largeur=130;
$hauteur=130;
//Création de l'image
$im = @imagecreate ($largeur, $hauteur)
or die ("Impossible d'initialiser la librairie GD");
//Couleur du fond de l'image
$couleur_fond = imagecolorallocate ($im, 238, 255, 0);
//Image du fond de l'image:
if($aff_image==1){
$im2 = imagecreatefromgif("21.gif");
ImageCopy($im,$im2,$largeur/2-imagesx($im2)/2,$hauteur/2-imagesy($im2)/2,0,0,imagesx($im2),imagesy($im2));
}
//Couleur du texte
$couleur = imagecolorallocate($im,0,0,255); //($im, 113, 239, 9);
imagestring ($im, 1,1/2*$largeur-25, 5, " ", $couleur);
imagestring ($im, 1,1/2*$largeur-20, $hauteur-7, " ", $couleur);
//on récupère l'heure
$Heure=date("h");
$Minute=date("i");
$Seconde=date("s");
//Affichage de l'heure en digital
// if($aff_digit==1){
// imagestring ($im, $taille,1/2*$largeur-35, 2/3*$hauteur, date("H:i:s"), $couleur);
// }
//Dessine l'aiguille des heures
$angle_heure=360/12*$Heure;
$arriveY_heure=$hauteur/2-$hauteur/4*cos(deg2rad($angle_heure));
$arriveX_heure=$largeur/2+$largeur/4*sin(deg2rad($angle_heure));
imagesetthickness($im, 5);//Modifie l'épaisseur de la ligne
imageline ($im, $largeur/2, $hauteur/2, $arriveX_heure, $arriveY_heure, $couleur);
//Dessine l'aiguille des minutes
$angle_minute=360/60*$Minute;
$arriveY_minute=$hauteur/2-3*$hauteur/8*cos(deg2rad($angle_minute));
$arriveX_minute=$largeur/2+3*$largeur/8*sin(deg2rad($angle_minute));
imagesetthickness($im, 3);//Modifie l'épaisseur de la ligne
imageline ($im, $largeur/2, $hauteur/2, $arriveX_minute, $arriveY_minute, $couleur);
//Dessine l'aiguille des secondes
//if($aff_seconde==1){
// $angle_seconde=360/60*$Seconde;
//$arriveY_seconde=$hauteur/2-3*$hauteur/8*cos(deg2rad($angle_seconde));
// $arriveX_seconde=$largeur/2+3*$largeur/8*sin(deg2rad($angle_seconde));
//imageline ($im, $largeur/2, $hauteur/2, $arriveX_seconde, $arriveY_seconde, $couleur);
// }
//Affichage des chiffres
// for($i=1;$i<13;$i++){
// $angle_chiffre=360/12*$i;
// imagestring($im,$taille,$largeur/2+3*$largeur/8*sin(deg2rad($angle_chiffre))-3,$hauteur/2-3*$hauteur/8*cos(deg2rad($angle_chiffre))-3,$i,$couleur);
// }
//Retour de l'image au format png
imagepng ($im);
?>