Rotation d'images au click/refresh avec du PHP

Rotation d'images au click/refresh avec du PHP - PHP - Programmation

Marsh Posté le 16-09-2009 à 15:54:05    

Bonjour,
 
J'utilise actuellement un morceau de php, qui m'aide a tourner les images background dans l'entête et ceci d'une manière aléatoire, quand on rafraichit la page, ou quand on va vers une autre page:
en css

Code :
  1. #header {background: url(img/entete/tourner.php) no-repeat 0px 0px;


et tourner.php

Code :
  1. <?php
  2. $file_types = array(
  3.   'jpg'  => 'image/jpeg',
  4.   'jpeg' => 'image/jpeg',
  5. ) ;
  6. $regex = '/\.(' . implode('|',array_keys($file_types)) . ')$/i' ;
  7. $files = array() ;
  8. $directory = opendir("." );
  9. while ( FALSE !== ($file = readdir( $directory )) ) {
  10.   if ( preg_match( $regex, $file ) ) {
  11.     $files[] = $file ;
  12.   }
  13. }
  14. if ( !empty( $files ) ) {
  15.   $which   = rand(0,sizeof($files)-1) ;
  16.   if ( $file = file_get_contents( $files[$which] ) ) {
  17.     $parts   = explode('.',$files[$which]) ;
  18.     $ext     = strtolower($parts[sizeof($parts)-1]) ;
  19.    
  20.     header( "Content-type: " . $file_types[$ext] ) ;
  21.     header( "Expires: Wed, 29 Jan 1975 04:15:00 GMT" );
  22.     header( "Last-Modified: " . gmdate("D, d M Y H:i:s" ) . " GMT" );
  23.     header( "Cache-Control: no-cache, must-revalidate" );
  24.     header( "Pragma: no-cache" );
  25.     print $file ;
  26.  
  27.   }
  28. }
  29. ?>


 
Toute fonctionne très bien sauf que là, pour expérimenter une mise en page particulière, j'aurais besoin que le changement des images se fasse d'une manière séquentielle et pas aléatoire. Par exemple on charge l'image 1.jpg 2.jpg 3jpg etc.
Après mes recherches j'ai vu que le function mt_rand() pourrait m'aider a accomplir cette tache, mais vu que je viens juste de commencer tripoter le php, l'incompétence du newbie frappe très fort  :pt1cable: et ne m'aide pas a savoir quoi changer dans tourner.php
 
Si vous pouvez me donner un coup de pouce je vous serait reconnaissant.
 
Une dernière question aussi: Quel ouvrage php ( en français ou english) pouvez vous me conseiller pour bien démarrer avec le php. J'ai commencé avec le manuel officiel, mais a vrai dire ce type d'apprentissage ne me fait pas avancer énormément car j'ai du mal a structurer bien le choses que je lis. J'ai toujours eu la tendance d'apprendre en traitant un cas d'usage pour comprendre le but final et voir comment on y arrive.
 
Cdt
 
Dopey


Message édité par Dopey le 16-09-2009 à 19:12:24
Reply

Marsh Posté le 16-09-2009 à 15:54:05   

Reply

Marsh Posté le 16-09-2009 à 18:22:57    

ok après un peu plus de lecture sur php.net je vois que ce n'est pas si simple que de modifier un fonction sur le code donné. Apparemment faut utiliser un session ou cookie pour compter ce qui est envoyé le lire et ensuite incrémenter le comptage en fonction. Vu que ce script cohabite avec un CMS, faudra utiliser les sessions de celui-ci, chose qui complique un contribution simple ici.  
Je vais me débrouiller pour accomplir la tache différemment via un chargement dynamique de CSS individuelles.  
 
Merci de m'avoir lu et a bientôt ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed