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 :

[Système] Utilisation gnuplot avec php


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut [Système] Utilisation gnuplot avec php
    Bonjour,
    Je souhaite utiliser gnuplot dans des pages web en php, afin qu'un utilisateur puisse afficher des données sur un graphique.

    Avez-vous une idée sur la manière de procéder ? Existe-t-il des exemples déjà existant (j'ai fait des recherches sur Google mais je ne trouve rien).

    Comment passer des arguments à gnuplot par la ligne de commande ?

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    avec la fonction exec, tu obtiendras une partie de ce que tu souhaites...

    mais il faut garder à l'esprit que tu devras passer les bonnes commandes à gnuplot pour qu'il génère une image que tu afficheras ensuite....

    http://www.php.net/function.exec


    si tu souhaites lancer une certaine interactivité au client... va falloir te tourner vers du Ajax (mais en traitement d'image lourd, je doute) ou alors vers les applets
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  3. #3
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    J'ai déjà essayé de me documenter sur cette fonction, mais je n'arrive pas à la faire fonctionner.

    Pourriez-vous me donner un exemple de ligne de code ?

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    c'est quasimment pareil que execv() en c...

    mais à ma connaissance, ce n'est pas super utilisé.

    sans garantie, essaies ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $t = array("gcc","-c","test.c");
    exec($t, $res);

    sinon, tu connais les cgi je crois ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    Merci Gorgonite,

    Comment se fait-il que la chaîne "gnuplot" n'apparaisse pas dans ce bout de code ?

  6. #6
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Points : 18 679
    Points
    18 679
    Par défaut
    ben parce que ce n'est qu'un exemple...
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Citation Envoyé par gorgonite
    avec la fonction exec, tu obtiendras une partie de ce que tu souhaites...
    Salut

    Prenez garde à cette fonction : les appels système sont souvent bridés voire carrément désactivés, sur les serveurs mutualisés.

  8. #8
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    J'ai une question à propos de la commande "exec" :

    - est-il nécessaire que l'appel du programme se fasse exactement comme l'appel sous l'invite de commande MSDOS (je suis sous windows) ?

    dans l'exemple que tu as traité, cela donnerait :
    ???

  9. #9
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Au contraire, il faut faire comme si tu lançais directement une commande DOS (plutôt shell, d'ailleurs), ce qui donne directement le nom du programme en accès relatif ou absolu mais certainement pas le prompt.

  10. #10
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 197
    Points : 58
    Points
    58
    Par défaut
    OK, donc il faut d'abord que je teste le programme sous DOS !

    Je n'arrive déjà pas à le faire marcher correctement sous DOS, c'est peut-être pour ça que toutes mes tentatives pour appeler gnuplot depuis php ont échoué...

    Qu'en penses-tu ?

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Oui, enfin, PHP est plutôt prévu pour être exécuté dans un environnement Linux (UNIX-like) que Windows, en particulier les commandes avec exec()...
    Après, je ne connais pas gnuplot, je arle dans le vent, il fonctionne peut-être sous Windows aussi (auquel cas, oui, tu devrais pouvoir faire exactement la même chose sous DOS).

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 29
    Points : 21
    Points
    21
    Par défaut probleme avec un script gnuplot sous php
    Bonjour
    je suis dans l'impasse depuis quelques jours. Voila j'ai un script gnuplot pour me dessiner une courbe et l'enregistrer dans mon dossier /www afin de l'afficher par la suite sur ma page.php
    le script est fonctionnel sus le terminal et il me crée l'image sans probleme.
    Sauf qu'en l'executant sur ma page php avec la commande exec , une image vide est crée dans /www et ne peut pas etre ouverte ou lue.
    j'ai mis chmod 777 pour etre sur, sin j'ai beaucoup d'autres script qui fonctionnent sans aucun probleme sur php, le probleme est juste avec gnuplot voici mon code ci dessous

    script situé dans un fichier.conf
    tous les fichiers mon_graphe
    set terminal png size 1200,800
    set output "/htdocs/www/mon_graphe.png"
    set grid
    plot "essaignu.txt" using 1:2 with lines
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php exec('cat mon_graphe.conf | gnuplot'); ?>
    merci d'avance

  13. #13
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    bonjour,

    à place de la fonction exec() utilises plutôt shell_exec(). En effet exec() lance un programmé situé uniquement sur le serveur apache.Hors du serveur apache il faut soit configurer la variable d'environnement apache setEnv soit utiliser shell_exec(). or gnuplot se trouve hors du serveur apache donc sur la machine locale.

Discussions similaires

  1. [Forum] Utiliser Skype avec PHP
    Par YewYew dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 07/09/2007, 14h56
  2. [Système] Commande Linux avec php
    Par Tazerty dans le forum Langage
    Réponses: 3
    Dernier message: 30/08/2007, 22h09
  3. [Système] Utiliser pg_dump via php
    Par bossLINDROS dans le forum Langage
    Réponses: 8
    Dernier message: 22/06/2007, 16h27
  4. [Système] Utiliser exec() avec kill
    Par lepec dans le forum Langage
    Réponses: 9
    Dernier message: 24/01/2007, 18h53
  5. [POO] utiliser Word avec php
    Par ygaudin dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2006, 11h04

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