rportal Posté 18 Août 2005 Partager Posté 18 Août 2005 remplace cette ligne $fichier_cache = $rep_cache . date("Ymd") . 'php'; par ton truc d'addition (moi perso je trouve que cela fait beaucoup de calcul pour pas grand chose, tu peux simplement attacher le nom du repertoire dans le nom du fichier) Lien vers le commentaire Partager sur d’autres sites More sharing options...
rportal Posté 18 Août 2005 Partager Posté 18 Août 2005 ex: $fichier_cache = $rep_cache . date("Ymd") . '.' . basename(dirname($_SERVER["PHP_SELF"])) . '.php'; Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 18 Août 2005 Auteur Partager Posté 18 Août 2005 ok si j'attache le njom du repertoire a la date pour crée le fichier cache ca veux dire que si j'ai deux pages identiques avec le meme script si j'en affiche une a partir du dossier /machin/abcd et l'autre a partir du dossier /machin/bcde j'obien deux pages différentes pour une journée complette et lelendemain j'ai denouveau 2 autres pages ???? Lien vers le commentaire Partager sur d’autres sites More sharing options...
rportal Posté 18 Août 2005 Partager Posté 18 Août 2005 oui Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 18 Août 2005 Auteur Partager Posté 18 Août 2005 (modifié) Salut est il possible de rajouter une variable nombre de jour $nbjours qui permet de relancer le script que tout les N jours. Modifié 20 Août 2005 par reg34000 Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 20 Août 2005 Auteur Partager Posté 20 Août 2005 en restant sur ton idée de créer un fichier cache Lien vers le commentaire Partager sur d’autres sites More sharing options...
rportal Posté 20 Août 2005 Partager Posté 20 Août 2005 tu peux faire un truc du genre: $id_jour = date("z") % $nbjours;$fichier_cache = $rep_cache . '.' . basename(dirname($_SERVER["PHP_SELF"])) . '.php'; if(!file_exists($fichier_cache) || (file_exists($fichier_cache)&& ($id_jour==0))) { comme ca tu n'as pas besoin de supprimer les fichiers de caches (toujours le meme nom) et ils sont mis à jour tous les $nbjours Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 20 Août 2005 Auteur Partager Posté 20 Août 2005 ok merci je teste cela lundi car la j'ai pas acces a mon hebergeur pour tester en php je voulais vraiment te remercier pour tous tes conseils. je vais faire un tour sur ton site. est ce que je peux abuser en posant une derniere question lol Lien vers le commentaire Partager sur d’autres sites More sharing options...
rportal Posté 20 Août 2005 Partager Posté 20 Août 2005 le hub est fait pour ca Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 20 Août 2005 Auteur Partager Posté 20 Août 2005 est il possible de mettre une derniere variable $nbmodif = 1 qui permet de définir par rapport aux includes précedentes le nombre d'includes a modifier au hazard. par exemple aujoud'hui on tire 4 includes a afficher pendant 10 jours et au boud de 10 jours ont fais un nouveau tirage mais on ne remplace que ($nbmodif = 1) une include et bien sur au hazad parmis les 4 10 jours plus tard on recommence ont fais un nouveau tirage mais on ne remplace que ($nbmodif = 1) une include et bien sur au hazad parmis les 4 (des 10 jours d'avant) 10 jours plus tard on recommence ont fais un nouveau tirage mais on ne remplace que ($nbmodif = 1) une include et bien sur au hazad parmis les 4 (des 10 jours d'avant).... Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 21 Août 2005 Auteur Partager Posté 21 Août 2005 tout est possible. lol Lien vers le commentaire Partager sur d’autres sites More sharing options...
rportal Posté 21 Août 2005 Partager Posté 21 Août 2005 [HS]oui tout est possible. Il vaut mieux pour cela exprimer ses besoins dans leur ensemble. Il vaut mieux demander une Ferrari et obtenir une BMW que de commencer par une voiture à roulette et de vouloir y ajouter une moteur, des freins, des roues....[/HS] Pour ta nouvelle idée, tu peux créer un deuxième fichier par dossier qui va contenir les fichiers tirés au hasard; Le jour où tu dois tirer de nouveau fichier, tu pars de cette liste pour construire la nouvelle comme tu le désires. Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 21 Août 2005 Auteur Partager Posté 21 Août 2005 (modifié) pourquoi créer deux fichiers n'est il pas possible d'en créer qu'un ? ou alors c'est pour garder en mémoire les inclues que l'on ne change pas, le temps de remplacer le premier fichier existant ??? Tu n'aurais pas une idée par hazard pour passer de la voiture à roulette à la ferrari car comme tu l'as compris niveau PHP je suis moins performent qu'une voiture a roulette lol Modifié 21 Août 2005 par reg34000 Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 21 Août 2005 Auteur Partager Posté 21 Août 2005 ok un grand merci a toi Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 22 Août 2005 Auteur Partager Posté 22 Août 2005 <?php $nb_aleatoire="4";$rep ="includes/";$nbjours="1";// Répertoire où l'on met les fichiers de cache$rep_cache = 'cache/';//On crée le nom du fichier du jour$id_jour = date("z") % $nbjours;$fichier_cache = $rep_cache . '.' . basename(dirname($_SERVER["PHP_SELF"])) . '.php'; if(!file_exists($fichier_cache) || (file_exists($fichier_cache)&& ($id_jour==0))) {// Si le n'existe pas on le crée puis on l'inclu.if(!file_exists($fichier_cache)) {$txt_fichier = "<?php\n";// on liste les fichiers du repertoire if ($handle = opendir($rep)) {$fichiers = array();while (false !== ($file = readdir($handle))) {if ($file != "." && $file != "..") {$fichiers[] = $rep . $file;}}closedir($handle);// On crée le tableau contenant les fichiers à incluresrand ((double) microtime() * 10000000);$include_aleatoire = array_rand ($fichiers, $nb_aleatoire);shuffle($include_aleatoire);for($i=0;$i<count($include_aleatoire);$i++){$txt_fichier .= "include('".$fichiers[$include_aleatoire[$i]]."');\n";}}$txt_fichier .= "?>";$f=fopen($fichier_cache,'w');fwrite($f,$txt_fichier);fclose($f)=;}include($fichier_cache);?> voici le message d'erreur Parse error: parse error, unexpected '=' peux etre que j'ai pas bien mis le code suivant $fichier_cache = $rep_cache . '.' . basename(dirname($_SERVER["PHP_SELF"])) . '.php'; if(!file_exists($fichier_cache) || (file_exists($fichier_cache)&& ($id_jour==0))) { J'ai également crée la variable: $nbjours="1"; Il ne m'a pas crée le fichier dans le dossier cache Lien vers le commentaire Partager sur d’autres sites More sharing options...
rportal Posté 22 Août 2005 Partager Posté 22 Août 2005 l'erreur vient de là: fclose($f)=; enlève le = Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 22 Août 2005 Auteur Partager Posté 22 Août 2005 ok cette fois c'est Parse error: parse error, unexpected $ in... lol Lien vers le commentaire Partager sur d’autres sites More sharing options...
rportal Posté 22 Août 2005 Partager Posté 22 Août 2005 quand tu mets une erreur, mets là en entier... parce que après le in c'est intéressant pour trouver où est l'erreur Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 22 Août 2005 Auteur Partager Posté 22 Août 2005 Parse error: parse error, unexpected $ in ...index.php on line 48 oui mais la ligne 48 ca dépand d'ou se trouve le script dans la page lol Lien vers le commentaire Partager sur d’autres sites More sharing options...
rportal Posté 22 Août 2005 Partager Posté 22 Août 2005 Et bien donne la ligne qui correspond dans ce cas Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 22 Août 2005 Auteur Partager Posté 22 Août 2005 je sais pas quoi compter est ec que des ligne vide retour chariot compte comme ligne ??? Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 22 Août 2005 Auteur Partager Posté 22 Août 2005 et en plus comment faire pour compter les lignes a la main Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 22 Août 2005 Auteur Partager Posté 22 Août 2005 <HTML><HEAD><TITLE>Test</TITLE></HEAD><BODY><?php $nb_aleatoire="4";$rep ="includes/";$nbjours="1";// Répertoire où l'on met les fichiers de cache$rep_cache = 'cache/';//On crée le nom du fichier du jour$id_jour = date("z") % $nbjours;$fichier_cache = $rep_cache . '.' . basename(dirname($_SERVER["PHP_SELF"])) . '.php'; if(!file_exists($fichier_cache) || (file_exists($fichier_cache)&& ($id_jour==0))) {// Si le n'existe pas on le crée puis on l'inclu.if(!file_exists($fichier_cache)) {$txt_fichier = "<?php\n";// on liste les fichiers du repertoire if ($handle = opendir($rep)) {$fichiers = array();while (false !== ($file = readdir($handle))) {if ($file != "." && $file != "..") {$fichiers[] = $rep . $file;}}closedir($handle);// On crée le tableau contenant les fichiers à incluresrand ((double) microtime() * 10000000);$include_aleatoire = array_rand ($fichiers, $nb_aleatoire);shuffle($include_aleatoire);for($i=0;$i<count($include_aleatoire);$i++){$txt_fichier .= "include('".$fichiers[$include_aleatoire[$i]]."');\n";}}$txt_fichier .= "?>";$f=fopen($fichier_cache,'w');fwrite($f,$txt_fichier);fclose($f);}include($fichier_cache); ?></BODY></HTML> le probleme il met ligne 48 c'est la derniere </HTML> y a pas d'erreur la Lien vers le commentaire Partager sur d’autres sites More sharing options...
rportal Posté 22 Août 2005 Partager Posté 22 Août 2005 il manquait une accolade: <?php $nb_aleatoire="4";$rep ="includes/";$nbjours="1";// Répertoire où l'on met les fichiers de cache$rep_cache = 'cache/';//On crée le nom du fichier du jour$id_jour = date("z") % $nbjours;$fichier_cache = $rep_cache . '.' . basename(dirname($_SERVER["PHP_SELF"])) . '.php'; if(!file_exists($fichier_cache) || (file_exists($fichier_cache)&& ($id_jour==0))) { // Si le n'existe pas on le crée puis on l'inclu. $txt_fichier = "<?php\n"; // on liste les fichiers du repertoire if ($handle = opendir($rep)) { $fichiers = array(); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $fichiers[] = $rep . $file; } } closedir($handle); } // On crée le tableau contenant les fichiers à inclure srand ((double) microtime() * 10000000); $include_aleatoire = array_rand ($fichiers, $nb_aleatoire); shuffle($include_aleatoire); for($i=0;$i<count($include_aleatoire);$i++){ $txt_fichier .= "include('".$fichiers[$include_aleatoire[$i]]."');\n"; } $txt_fichier .= '?>'; $f=fopen($fichier_cache,'w'); fwrite($f,$txt_fichier); fclose($f);}include($fichier_cache);?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
reg34000 Posté 22 Août 2005 Auteur Partager Posté 22 Août 2005 super ca marche niket si on met $nbjours="2"; je supose que ca change tous les jours c'est bien cela si on met $nbjours="1"; ca change en continu ? et $nbjours="0"; aussi c'est normal, ca devrait pas plutot etre avec 0 ca devrait faire tirage a chaque chargement et 1 remplacement 1 fois par jour et 2 tous les deux jours ? je chipotte lol Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant