Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
535 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Rotation d'images au click/refresh avec du PHP

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Rotation d'images au click/refresh avec du PHP

n°1924532
Dopey
Bite my shiny golden ass!
Posté le 16-09-2009 à 15:54:05  profilanswer
 

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
mood
Publicité
Posté le 16-09-2009 à 15:54:05  profilanswer
 

n°1924599
Dopey
Bite my shiny golden ass!
Posté le 16-09-2009 à 18:22:57  profilanswer
 

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 ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Rotation d'images au click/refresh avec du PHP

 

Sujets relatifs
Script PHP RSSTransformer un PHP en XML
Problème de code PHPbackground et plusieurs images
[Php/OpenLaszlo] conception de site/ transmission client/serveurMoteur de recherche site perso pour images taguees
[PHP, JavaScript] Copier la valeur d'un input[PHP] Comparaison de chaine d'un fichier
créer un tableau d'images cliquables sans espacespb simulation click souris avec "postMessage"
Plus de sujets relatifs à : Rotation d'images au click/refresh avec du PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR