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 :

données stockées dans un fichier


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 53
    Points
    53
    Par défaut données stockées dans un fichier
    Bonjour,

    Je développe en Php 5 une application. Cette application appelle un programme écrit en fortran.
    Ce programme fortran lit des fichiers .txt et il utilise ensuite le contenu en tant que variable lors de son exécution.

    Or le contenu de ces fichiers est administrable par certains utilisateurs (ils peuvent modifier le contenu des fichiers, via des scripts php ,et donc des futures variables de l'exécutable fortran).

    Ma question est comment gérer cela ?
    Car si le fichier est modifié pendant que l’exécutable veut y avoir accès cela peut poser problème

    De plus je ne peux pas utiliser de base de données car l'exécutable ne peut pas être modifié.

    J'ai bien peur que cela ne soit pas possible.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 200
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 200
    Points : 8 425
    Points
    8 425
    Billets dans le blog
    17
    Par défaut
    As-tu moyen de savoir quand le programme Fortran est en cours d'exécution ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 53
    Points
    53
    Par défaut
    Oui car c'est moi qui le lance depuis php (fonction exec)

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 200
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 200
    Points : 8 425
    Points
    8 425
    Billets dans le blog
    17
    Par défaut
    OK dans ce cas pour éviter les accès concurrents tu peux poser un verrou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if ( file_exists('verrou_fortran') ) { // Verrou posé ?
        echo 'Le prog Fortran est déjà occupé, réessayer plus tard...' ;
    } else {
        touch('verrou_fortran') ; // Création du verrou
        exec('prog_fortran') ;
        unlink('verrou_fortran') ; // Suppression du verrou
    }
    ... ainsi seul 1 script PHP à la fois pourra exécuter le programme Fortran.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 53
    Points
    53
    Par défaut
    Bonjour,

    Je ne connaissais pas les fonctions touch et unlink.

    Ca semble simple à mettre en place.

    Avec un petit 'while' pour dire au php d'attendre que le verrou soit enlevé pour lancer le exe fortran automatiquement car je veux que l'utilisateur doive attendre que le fortran soit libre (et non pas lui afficher un message).

    Est-ce efficace à grande échelle (site accueillant plusieurs milliers de visiteurs par jours) ou est-ce une solution de "bricolage" ?

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 200
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 200
    Points : 8 425
    Points
    8 425
    Billets dans le blog
    17
    Par défaut
    Je ne connaissais pas les fonctions touch et unlink.
    Cela ne fait que créer/supprimer un fichier-drapeau.

    Avec un petit 'while' pour dire au php d'attendre que le verrou soit enlevé pour lancer le exe fortran automatiquement car je veux que l'utilisateur doive attendre que le fortran soit libre (et non pas lui afficher un message).
    Attention au temps d'exécution max du script PHP, par défaut 30s.

    Est-ce efficace à grande échelle (site accueillant plusieurs milliers de visiteurs par jours) ou est-ce une solution de "bricolage" ?
    Faut voir si le prog Fortran s'exécute en 1-2s ou 1-2mn.
    En tout cas c'est probablement la soluce la plus simple à mettre ne place, donc tu ne perds pas grand chose à tester.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    Points : 53
    Points
    53
    Par défaut
    Désolé de ne répondre que maintenant mais j'étais en déplacement sans Internet.

    Super je vais utiliser ce système de fichier.

    Dernière question:
    J'ai peur que le programme mette 20-30sec à s'éxecuter...
    Comment récupérer la main en php après ?
    Et si possible garder la même session et les mêmes variables de sessions ?

Discussions similaires

  1. récupérer les données stockées dans un fichier excel
    Par ouzayd dans le forum Automation
    Réponses: 20
    Dernier message: 21/05/2015, 10h54
  2. Réponses: 3
    Dernier message: 12/11/2009, 14h26
  3. conception de données stockées dans des fichiers
    Par clubist dans le forum Schéma
    Réponses: 13
    Dernier message: 30/12/2008, 00h41
  4. Problème de données stockées dans un fichier ?
    Par petitclem dans le forum C++
    Réponses: 26
    Dernier message: 11/07/2008, 12h03
  5. Réponses: 13
    Dernier message: 08/07/2008, 17h20

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