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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[Forum] Shell et php


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Consultante LIMS
    Inscrit en
    Avril 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultante LIMS
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2009
    Messages : 145
    Par défaut [Forum] Shell et php
    Bonjour,

    je fais mes pemiers pas en informatique et je me sens un peu décourager par la multitude de language qu'on me demande d'utiliser

    je dois faire une interface web en php
    et en background je fait des requêtes sur mon terminal "fetchdom -b hogenom_v3 -d HBG000010 -fs " % " -t id,kw,la,nd,dr > fetch.txt"
    avec -b hogenom_v3 : ma base de donnée
    -d HBG000010 : retourne la famille de protéine que je veux étudier
    -fs est un filtre séparateur qui me permet de séparer tous les champs que j'ai choisi ( ID, ND, KW,...)
    par " % "

    Imaginons qu'un utilisateur fasse une recherche comme celle là sur mon site, la requête me permet de séparer mes champs mais je voudrais enregistrer chacun de ses champs dans une variable que je pourrai afficher sur ma page php

    Je ne sais pas du tout comment m'y prendre, j'ai lu de la doc, mais je n'y comprends pas gd chose;

    HELP PLEASE

  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
    Si tes champs sont séparés avec " % " et que tu obtiens qque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    France % Europe % Paris
    Alors tu peux isoler les valeurs avec explode( ), exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $s = 'France % Europe % Paris' ;
    list($pays, $continent, $capitale) = explode(' % ', $s) ;
    http://fr.php.net/explode
    http://fr.php.net/list

  3. #3
    Membre confirmé
    Femme Profil pro
    Consultante LIMS
    Inscrit en
    Avril 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultante LIMS
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2009
    Messages : 145
    Par défaut
    j'obtiens quelque chose qui peut ressembler à ça :

    CL000015 % CL000015 % RAN(20) ARF1(18) RAB7(15) ; // GTP-BINDING LIPOPROTEIN PRENYLATION RAS-RELATED GTPASE ADP-RIBOSYLATION SMALL FAMILY FACTOR RAS ; RHOGTPASE % 279 % 9 % ccalcoDR INTERPRO; IPR001806 "Ras GTPase"
    DR INTERPRO; IPR006689 "ARF/SAR"
    DR PDB; 1A2B (15-181) O93467_CHICK (15-181)
    DR PDB; 1A2K chain C (10-172) RAN_CHICK (10-172)
    DR PDB; 1A2K chain D (10-172) RAN_CHICK (10-172)
    DR PDB; 1A2K chain E (10-172) RAN_CHICK (10-172)
    DR PDB; 1A4R chain A (13-180) Q6P9Y3_RAT (13-180),1A4R chain B (13-180)
    DR PDB; 1AGP (13-166) RASH_HUMAN (13-166)
    DR PDB; 1AJE (205-382) Q6P9Y3_RAT (3-180),1AJE chain 1 (205-382),1AJE chain 2 (205-382),1AJE chain 3 (205-382),1AJE chain 4 (205-382),1AJE chain 5 (205-382),1AJE chain 6 (205-382),1AJE chain 7 (205-382),1AJE chain 8 (205-382),1AJE chain 9 (205-382) %


    Il faudrait donc que j'ouvre mon fichier texte, que je stocke tout dans $s, et que j'affecte chaque champs à une variable.... ok je vais tester.

    Est ce que je peux stocker le résultats de ma requete directement dans la variable ?? d'"ailleur peut-on faire un appel de ma commande directement dans mon script php ??

    sorry si mes questions sont élémentaires pour vous...........

    mais merci de m'aider en tout cas

  4. #4
    Membre confirmé
    Femme Profil pro
    Consultante LIMS
    Inscrit en
    Avril 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultante LIMS
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2009
    Messages : 145
    Par défaut
    J'ai fait quelque chose dans ce goût là :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    <?php
     
    if (isset($_POST['ID']) && isset ($_POST['KW']) && isset ($_POST['LA']) && isset ($_POST['ND']) && isset ($_POST['DR']) && isset ($_POST['INN']) && isset ($_POST['INNTYPE']) && isset ($_POST['HT']) && isset ($_POST['SPND']) && isset ($_POST['CO'])  )
    {
    // Alors on peut vérifier si le mot de passe est bien "XXXX" 
    $ID = $_POST['ID'];
    $KW = $_POST['KW'];
    $LA = $_POST['LA'];
    $ND = $_POST['ND'];
    $DR = $_POST['DR'];
    $INN = $_POST['INN'];
    $INNTYPE = $_POST['INNTYPE'];
    $HT = $_POST['HT'];
    $SPND = $_POST['SPND'];
    $CO = $_POST['CO'];
    }
    else
    {
    $ID = "";
    $KW = "";
    $LA = "";
    $ND = "";
    $DR = "";
    $INN = "";
    $INNTYPE = "";
    $HT = "";
    $SPND = "";
    $CO = "";
    }
     
    if(isset($_GET["requete"])) $requete=$_GET["requete"];
    else $requete="";
    // Pour avoir le fichier conscensus.xdom de façon systématique à chaque fois que l'on effectue une requête sur les domaines :
    //fetchdom -b prodom_v2005 -s HBG000010 -t xdom > conscensus.xdom
     
     
    // Pour avoir le fichier conscensus.fasta de façon systématique à chaque fois que l'on effectue une requête sur les séquences consensus et alignement :
    //fetchdom -b prodom_v2005 -s HBG000010 -t conscensus > conscensus.fasta
     
     
    $requete_fetch = ('/home/idris/My_php/fetchdom/fetchdom-3.20/fetchdom -b prodom_v2005 -a '.$requete.' -fs " % " -t  id,kw,la,nd,dr,inn,inntype,ht,spnb > idris_fetch.txt') ;
    exec($requete_fetch);
     
    $resultat_requete= "";
    $handle = fopen("idris_fetch.txt", "r");
    if ($handle) {
        while (!feof($handle)) {
             $resultat_requete= $resultat_requete.fgets($handle, 4096);
        }
        fclose($handle);
    }
     
     
    list($ID, $KW, $LA, $ND, $DR, $INN, $INNTYPE, $HT, $SPND, $CO) = explode(' % ', $resultat_requete) ;
    print ("***********".$resultat_requete);
     
    ?>
    j'ai trouvé sus la doc qu'on m'a conseillé la fonction fopen.mais j'ai du faire une vboucle pour qu'il aille jusqu'à la fin.(pas très optimal mais bon si ça marche je prend)

    mais j'ai une erreur du type

    terminate called after throwing an instance of 'FlatFileException_File'
    what(): Flat File object (file_name: prodom_v2005.srs): could not open file
    sh: line 1: 9753 Abandon /home/idris/My_php/fetchdom/fetchdom-3.20/fetchdom -b prodom_v2005 -a CL000015 -fs " % " -t id,kw,la,nd,dr,inn,inntype,ht,spnb >idris_fetch.txt

    je sèche totalement

  5. #5
    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
    Est ce que je peux stocker le résultats de ma requete directement dans la variable ??
    Essaie avec shell_exec( ) http://fr.php.net/shell-exec

    d'"ailleur peut-on faire un appel de ma commande directement dans mon script php ??
    Non, à moins d'écrire une API http://fr.php.net/manual/fr/internals2.php

    j'ai trouvé sus la doc qu'on m'a conseillé la fonction fopen.
    En cas de besoin préfère file_get_contents( )

  6. #6
    Membre confirmé
    Femme Profil pro
    Consultante LIMS
    Inscrit en
    Avril 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultante LIMS
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2009
    Messages : 145
    Par défaut
    j'ai réussi à corriger l'erreur c'était juste le chemin du fichier qui n'allait pas...........baka que je suis

    merci encore

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

Discussions similaires

  1. [Forum] Include Script php
    Par Shinosha dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 26/01/2008, 20h42
  2. [Forum][Conseil] Quel script de Forum gratuit pour PHP ?
    Par Seth77 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 13/10/2006, 13h29
  3. [Forum] Streaming et PHP
    Par wehtam dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 09/08/2006, 15h54

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