Précédent   Forum des professionnels en informatique > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/02/2011, 22h27   #1
Invité de passage
 
Inscription : février 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 10
Points : 0
Points : 0
Par défaut Lecture récurrente contenu répertoire

Bonjour,

Je cherche à savoir s'il est possible de lire à fréquence régulière (en l'occurrence toutes les 30 secondes) le contenu d'un répertoire pour effectuer des traitements.

Pour être précis, j'utilise un jeu qui met à jour un classement dans un fichier txt, et je voudrais que le script php (puisque c'est le langage que j'ai choisi pour mon site web) lise toutes les 30 secondes le contenu de ce fichier pour mettre à jour directement le classement sur internet (un classement live en quelque sorte qui évolue au même rythme que le jeu

Je ne cherche pas de solution toute faite mais déjà un avis sur les possibilités de faire ceci en php, et, éventuellement, les mots clés à 'fouiller' pour que je puisse faire ce script de lecture automatique et régulière

Many thanks
Terryan_999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 22h34   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Regarde déjà ce que tu as comme possibilités pour mettre en place un script recurrent :
http://matthieu.developpez.com/execution_periodique/
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 22h46   #3
Invité de passage
 
Inscription : février 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 10
Points : 0
Points : 0
Ok merci
Terryan_999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 16h55   #4
Invité de passage
 
Inscription : février 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 10
Points : 0
Points : 0
Par défaut Lecture récurrente contenu répertoire

Re-bonjour

J'ai donc regardé ce qui était indiqué dans le topic

http://matthieu.developpez.com/execution_periodique/

Effectivement, en termes de script PHP, je pense pouvoir me satisfaire de celui s'exécutant à intervalle régulier.

J'ai donc écrit le code suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
 
<html>
<head>
<title>Virtual Race Concept</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
 
<?php
 
set_time_limit(0);
 
while(1)
{
echo "<body>";
echo "<div id='logo'>VIRTUAL RACE CONCEPT</div>";
echo "<div id='banner'><img src='images/rF2.jpg' alt='Main Image' /></div>";
echo "<div id='nav'>";
echo"</body>";
sleep(30);
}
?>
 
</html>
Ce que j'essaie de faire ici, c'est que le script se lance à intervalle régulier et, si je change le fichier jpg dans le répertoire, l'image affichée change en conséquence lors de la prochaine exécution du script. Dans les faits, ce n'est pas exactement ce que je ferai, il s'agira simplement d'une maj d'un classement. Le script ira chercher un fichier xml automatiquement déposé dans un répertoire par le jeu, le mettra en forme et affichera le classement. Mais ici, c'est juste pour tester l'exécution périodique (toutes les x secondes).

Le problème, c'est que ce code ne s'exécute qu'au bout d'une longue attente (très variable). Des fois, j'ai l'impression qu'il tourne dans le vide.... Quand il s'exécute, il affiche une page html avec plusieurs fois l'entête et, surtout, il est très difficile de naviguer dans la page car j'ai l'impression que le serveur est monopolisé par ce script qui tourne en continu.

Pour info, je fais un test sur un serveur local wampserver.

Merci d'avance pour votre aide
Terryan_999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 17h07   #5
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Le sleep() fait patienter PHP ; pendant ce temps le navigateur attends également.
Cette méthode n'est pas faite pour avoir le contenu du page web rafraichi mais juste pour que le traitement PHP en fond ait lieu en permanence.

Voit du côté de Ajax pour lire et rafraichir le résultat de ce traitement PHP sur la page web.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 17h15   #6
Invité de passage
 
Inscription : février 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 10
Points : 0
Points : 0
Par défaut Lecture récurrente contenu répertoire

Ok merci... je vais me promener du côté d'Ajax
Terryan_999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 17h39   #7
Invité de passage
 
Inscription : février 2011
Messages : 10
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 10
Points : 0
Points : 0
Par défaut Lecture récurrente contenu répertoire

Euh petite précision tout de même.... je viens d'aller voir Ajax et je comprends qu'Ajax permet un rafraichissement d'une partie de la page HTML (sans avoir à recharger toute la page).

Mais si je veux que ce script Ajax s'exécute en permanence (toutes les 30 secondes par exemple), il va falloir que j'utilise tout de même une des solutions fournies par http://matthieu.developpez.com/execution_periodique/ ?

Ou bien Ajax prend il aussi en charge cette exécution permanente...

je sais que je suis sur le forum PHP mais c'est juste pour la transition... je file sur Ajax juste après
Terryan_999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h05.


 
 
 
 
Partenaires

Hébergement Web