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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    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 confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 344
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 344
    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 confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

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

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 344
    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 confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 129
    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 confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 344
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 344
    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.

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