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 ($im2382550);
   
//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 ($im1,1/2*$largeur-255,  " "$couleur);
  
imagestring ($im1,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($im5);//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($im3);//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);
?>