Affichage aléatoire d'un contenu textuel dans une page Web

Petit nouveau ! | 3 Messages

29 juin 2010, 15:57

Bonjour à tous,

Je débute totalement en php.

Je souhaite pouvoir faire apparaitre dans une page web, un bloc de texte qui change de manière totalement aléatoire.
L'idéal serait de disposer d'un fichier texte unique composé de plusieurs paragraphe de texte (que je pourrai facilement mettre à jour).
Et dans une page php, je souhaite faire appel à ce fichier texte et afficher aléatoirement un des paragraphes du fichier texte.

J'ai trouvé un code sur le net qui fait presque ce genre de chose (l'affichage ici n'est pas aléatoire mais dépend du jour du mois) mais je ne sais pas comment le mettre en oeuvre.

<?php

//déclaration du fichier contenant les paragraphes
$fichier='paragraphes.txt'; // liste des paragraphes

//lecture du fichier
$contenu = fread(fopen($fichier, "r"), filesize($fichier)); // en mode lecture

//découpage du fichier par rapport aux *
// et création d'un tableau parag[] contenant les différents paragraphes.
$parag=explode("*",$contenu) ;


//date du jour
$jour = date("d");

// première semaine
if ($jour <= 8)
{
// affichage du premier paragraphe
echo $parag[0];
}
// 2ème semaine
else if ($jour <=16)
{
// affichage du second paragraphe
echo $parag[1];
}
// 3ème semaine
else if ($jour <=24)
{
// affichage du troisième paragraphe
echo $parag[2];
}
// 4ème semaine
else
{
// affichage du quatrième paragraphe
echo $parag[3];
}

?>




Je vous remercie pour l'aide que vous voudrez bien m'apporter.

Corto

Eléphant du PHP | 86 Messages

29 juin 2010, 16:58

Salut,

Cette méthode implique :
- que le fichier paragraphes.txt soit au même endroit que le fichier php
- que tes paragraphes soient séparés par le caractère "*"
<?php 

$fichier = "paragraphes.txt";
$contenu = fread(fopen($fichier, "r"), filesize($fichier)); 
$parag = explode("*",$contenu);
$rand = mt_rand(1, count($parag));
echo $parag[$rand-1];

?>
Exemple pour le fichier paragraphes.txt :

Code : Tout sélectionner

Paragraphe 1 *Paragraphe 2 *Paragraphe 3 *Paragraphe 4
Voilà pour toi ;)

ViPHP
AB
ViPHP | 5818 Messages

29 juin 2010, 17:27

Sinon tu pourrais également enregistrer un fichier texte par paragraphe, et regrouper ces fichiers dans un répertoire spécifique. Et à chaque affichage de ta page tu fais afficher un des fichier du répertoire tiré au hasard... ainsi pas de problème de séparation dans ton fichier et en travaillant sur un nouveau paragraphe tu ne risque pas d'effacer l'ancien contenu.

Enfin bon les fichiers textes c'est pour dépanner ou travailler sur de petits contenus... peut-être devrais-tu penser à utiliser une bdd pour l'avenir si ton site doit évoluer...

Petit nouveau ! | 3 Messages

29 juin 2010, 18:03

Merci beaucoup, ça à l'air de bien marcher!!!!

Dans la mesure où ce code doit figurer sur la première page de mon site, je suppose que je dois appeler cette première page "index.php"???

Pas de soucis pour le référencement avec google?

Corto
Débutant contant

ViPHP
AB
ViPHP | 5818 Messages

29 juin 2010, 18:18

Merci beaucoup, ça à l'air de bien marcher!!!!

Dans la mesure où ce code doit figurer sur la première page de mon site, je suppose que je dois appeler cette première page "index.php"???

Pas de soucis pour le référencement avec google?

Corto
Débutant contant
Si ta page doit interpréter du code php il faut qu'elle ait l'extension .php

Ton référencement risque de ne pas être au top (même plutôt down). En effet pour des contenus différents tu auras toujours une même adresse URL (=index.php). Il faudrait mettre un paramètre $_GET dans ton URL qui identifierait les paragraphes et dans ce cas le référencement serait ok.

Petit nouveau ! | 3 Messages

29 juin 2010, 18:28

Comment concrétement puis-je faire pour intégrer $_GET dans mon URL ???

Je pensais qu'au contraire mettre du texte aléatoire dans ma première page permettrait d'améliorer mon référencement, google considérant ces chargements comme des mises à jour.

Corto

ViPHP
AB
ViPHP | 5818 Messages

29 juin 2010, 18:41

Je pensais qu'au contraire mettre du texte aléatoire dans ma première page permettrait d'améliorer mon référencement, google considérant ces chargements comme des mises à jour.
Corto
ça va dépendre du reste du contenu... si ton paragraphe constitue l'essentiel comment veux tu que google fasse un lien vers un contenu toujours différent avec une même adresse ? Par contre si le reste (en dehors du paragraphe) est important, il va considérer que ce "reste" est mis à jour avec ton nouveau paragraphe de la même manière qu'une new changeante en haut d'une page.