IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Lire un fichier au fur et à mesure qu'il soit complété


Sujet :

Langage PHP

  1. #1
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut Lire un fichier au fur et à mesure qu'il soit complété
    Bonjour,
    J'ai un script PHP qui contient une liste d'adresse IP à "pinguer", ce script stocke cette liste dans un fichier texte. De là, j'ai un script BASH (qui est en attente) qui lit le fichier ligne par ligne et fait un ping sur chacune, puis stocke le résultat dans un autre fichier. Ensuite le script initiale PHP doit pouvoir lire le résultat du ping de la liste des IP demandés.
    J'aimerais que le fichier de résultat soit lue au fur et à mesure qu'il se complète. Le script BASH fonctionne parfaitement, le problème se situe dans le PHP.
    J'ai déjà essayé de faire la lecture du fichier avec une méthode flush en PHP mais ça ne me convient pas.

    Je vous mets quand même le script PHP, ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    //Liste des adresses IP à pinguer
    if (!file_exists("ping/liste")) {
    	$fh = fopen("ping/liste", "a+") OR die("Can't open file");
    	fwrite($fh, "192.168.1.2\n192.168.1.21\n192.168.1.1\n192.168.1.4\n192.168.1.6\n");
    	fclose($fh);
    }
     
    //Attend que le fichier "ping" soit supprimer
    while (!file_exists("ping/liste_result")) {}
     
    do {
    	//Lit le fichier de résultat
    	$fh = fopen("ping/liste_result", "r") OR die("Can't open file");
    	while (!feof($fh)) {
    		echo fgets($fh)."<br>";
    	}
    	fclose($fh);
    }
    while (file_exists("ping/liste"))
    Je tiens à signaler que dans mon cas, je ne peux pas utiliser la fonction exec() de PHP.
    Je vous remercie d'avance de vos réponses !
    Pensez à mettre comme si c'est le cas !

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    au lieu de stocker les résultats dans un seul fichier, tu peux stocker chaque résultat dans un fichier séparé ou dans une base de données

  3. #3
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    En effet, si tu peux en utiliser une, le stockage de chaque ligne dans une bdd paraît approprié
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  4. #4
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut
    Ok, je vais tester cela dans la soirée et vous dirai quoi.
    Merci
    Pensez à mettre comme si c'est le cas !

  5. #5
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut
    Désolé pour le retard, mais j'avais beaucoup de travail au boulot.

    Bref, j'ai trouvé une solution, comme la liste des ip que je voulais pinguer étaient déjà dans un bdd. J'ai dans mon script bash rajouté une fonction qui se connecte à ma base de donnée et modifie la valeur de l'item qui contient l'ip.
    Comme ça, je n'ai plus rien à faire du côté PHP tout se fait automatiquement, la page web a un refresh automatique toutes les 20 secondes et donc je suis tranquille de ce côté là pour l'affichage des résultats.

    Et avec un fichier témoin (ou lock) je sais indiquer à l'utilisateur quand le ping est fini.

    Merci pour vos pistes
    Pensez à mettre comme si c'est le cas !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Crée un fichier wav au fur et à mesure
    Par Badshade23 dans le forum Multimédia
    Réponses: 16
    Dernier message: 09/07/2015, 10h38
  2. lire les caractères entrés au clavier au fur et à mesure
    Par Decon dans le forum Général Java
    Réponses: 9
    Dernier message: 07/05/2010, 13h19
  3. DataInputStream lire au fur et à mesure
    Par akrobat dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 14/06/2006, 15h39
  4. Lire un fichier de 50 gb
    Par Maryves dans le forum MFC
    Réponses: 2
    Dernier message: 08/01/2004, 14h08
  5. Lire le fichier du port série
    Par saibe dans le forum Linux
    Réponses: 7
    Dernier message: 09/04/2003, 09h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo