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] mettre du code en C dans un site entière en php ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut [Système] mettre du code en C dans un site entière en php ?
    bonjour,

    donc voila, je dois faire en sorte qu'une fois que la personne clique sur un boutton, un fichier texte est généré. Ce qui est bien, c'est qu'on m'a donné le code pour faire cela, mais en C, alors je voudrais savoir si c'était possible d'intégrer ce code en C dans un site entièrement codé en php.

    Merci d'avance.

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    oui tu peux appelé ton prog une fois compilé via exec() ou system()

  3. #3
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    sinon comme le php se rapproche du c, tu peux toujours réecrire le prog en php...

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    ok je vais chercher donc avec exec() ou system() car en fait il y a des pointeurs dans ce document en C, et comme je ne me suis pas encore approché de cette notion, j'aurais aimer pouvoir ne pas devoir traduire.
    merci

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    j'ai recherchais, sur le forum ,j'ai trouvé quelque lien sympa, mais je n'ai pas très bien compris, je dois appeler le fichier contenant le code C, dans le exec() ?

    merci d'avance.

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    tu dois compilé au préalable ton code c

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    je vais surement paraître lourd, mais comment le compiler, je suppose que tu vas me répondre avec un compilateur C, mais comment obtenir mon code compilé ?

  8. #8
    Membre émérite
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Si ton algo n'est pas compilé tu auras sûrement plus vite fait de le retranscrire en PHP..... à moins qu'il soit si long que ça ?

    Sinon tu peux toujours l'integrer en PHP en temps que module, mais le problème sera le meme.

  9. #9
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Citation Envoyé par splouf
    je vais surement paraître lourd, mais comment le compiler, je suppose que tu vas me répondre avec un compilateur C, mais comment obtenir mon code compilé ?
    Selon mes souvenirs de C :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc source.c -o executable
    ensuite dans ton script php
    grosso modo comme ça...

  10. #10
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    comme je le disais au-dessus il y a des pointeurs et je ne connais pas que ça soit en C ou en php ...

  11. #11
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    Citation Envoyé par Mr N.
    Citation Envoyé par splouf
    je vais surement paraître lourd, mais comment le compiler, je suppose que tu vas me répondre avec un compilateur C, mais comment obtenir mon code compilé ?
    Selon mes souvenirs de C :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc source.c -o executable
    ensuite dans ton script php
    grosso modo comme ça...
    ok je vais continuer à chercher et à essayer

    merci

  12. #12
    Membre émérite
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Mr N : je ne suis pas sûr que son code soit "complet", et dans ce cas, ça compilera pas
    Après, faut esperer qu'il ait son propre serveur... sinon il sera là encore bloqué.

    splouf : les "pointeurs", y a pas à en avoir peur... dans ton cas il se peut même que tu puisses simplement faire abstraction (note : en PHP il n'y a pas de pointeurs ; dans certains cas tu peux utiliser les références à la place). Il fait quoi de beau cet algo ?

  13. #13
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    il génére un fichier texte , mais sinon va voir tes mp

  14. #14
    Membre émérite
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Désolé je ne réponds pas aux MP. (Le peu de temps que je passe ici, je préfère que ça serve à tout le monde )

    Pour ton algo, bah fais comme tu veux. Déjà essaye de le compiler, si cela fonctionne, c'est toujours ça de gagné.

  15. #15
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Et puis moi je suis jaloux maintenant

  16. #16
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    je veux bien le compiler, mais tu disais au dessus que ce que Mr N. n'était pas complet, après une recherche, je n'ai pas trouvé ce qui manqué
    Pourrais-tu m'aider ?

  17. #17
    Membre émérite
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    Non je disais que le code qu'on t'a donné n'est peut etre pas complet : s'il ne s'agit que d'un algo, tu ne pourras pas le compiler. Mais essayes, tu verras bien.

    Mais non Mr N, faut pas

  18. #18
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    poste nous ce code C pour voir ?

  19. #19
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 110
    Par défaut
    Ce qui me gène le plus, se sont les pointeurs, mais bon appremment on peut assez facilement s'en défaire. Ensuite il y a des commandes mysql mais pour les api C et non PHP, donc je ne sais pas toujours pas quoi remplacer...

    sinon voici le code, enfin je ne pense pas qu'il soit compliqué, mais juste des petits obstacles, enfin pour moi ...

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
     
    #include <mysql/mysql.h>
    #include <stdio.h>
    #include <time.h>
    #include <string.h>
     
    int main (int argc, char **argv){
     
           MYSQL *mysql, *mysql2;
           MYSQL_RES *res,*res2;
           MYSQL_ROW row,row2;
           char *query,*query2,tmp[1000000],tmp2[1000000];
           int i,t,r,montant,total_montant,indice;
           int boolean;
           int tab_offre [1000][3];
           int compteur;
     
           indice=1000000;
           total_montant=0;
     
           mysql_server_init(0, NULL, NULL);
           mysql = mysql_init(NULL);
           mysql2 = mysql_init(NULL);
     
           if (!mysql_real_connect(mysql,"localhost","toto","aaaaa","wifiland",0,NULL,0)){
                   printf("Erreur de conncetion a la base : %s\n",mysql_error(mysql));
                   exit(1);
           }
     
           if (!mysql_real_connect(mysql2,"localhost","toto","aaaaa","wifi",0,NULL,0)){
                   printf("Erreur de conncetion a la base : %s\n",mysql_error(mysql));
                   exit(1);
           }
     
           query="select nom,code_guichet,num_compte,code_banque,idpersonne,cle_rib from personne";
     
           t=mysql_real_query(mysql,query,(unsigned int) strlen(query));
     
           if(t){
                   printf("Erreur requete sql: %s\n",mysql_error(mysql));
                   exit(1);
           }
     
           query2="SELECT personne_idpersonne,facturation,montant FROM compte";
           t=mysql_real_query(mysql2,query2,(unsigned int) strlen(query2));
     
           if(t){
                   printf("Erreur requete sql: %s\n",mysql_error(mysql));
                   exit(1);
           }
     
           /*premiere ligne : correspond "en-tete prelevement" */
           printf("0308        497816       %sWIFILAND                PR%s                   E     0152900010239340                                               30004      \n",argv[1],argv[1]);
     
           /*les lignes qui suivent correspondent au "detail prelevement"*/
     
           res=mysql_use_result(mysql);
           res2=mysql_use_result(mysql2);
     
           i=0;
           while((row2=mysql_fetch_row(res2))){
     
                   if(atoi(row2[1])==1){
                   tab_offre[i][0]=atoi(row2[0]);
                   tab_offre[i][1]=atoi(row2[1]);
                   tab_offre[i][2]=atoi(row2[2]);
                   i++;
                   }
           }
           compteur=i;
     
           while((row=mysql_fetch_row(res))){
     
                   if(atoi(row[5])!=0){
                           boolean=0;
                           i=0;
                           while((i<compteur)&&(boolean==0)){
     
                                   if(tab_offre[i][0]==atoi(row[4])) {
     
                                           boolean=1;
     
                                           montant=tab_offre[i][2];
                                           total_montant=total_montant+montant;
                                   }
                                   i++;
                           }
     
                           if(boolean==1){
                           printf("0608        497816%s%d%s",argv[1],indice,row[0]);
                           indice=indice+1;
                           for(i=0;i<(24-strlen(row[0]));i++) printf(" ");
                           for(i=0;i<32;i++) printf(" ");
                           printf("%s%s",row[1],row[2]);
                           sprintf(tmp2,"%d",montant);
                           for(i=0;i<(16-strlen(tmp2));i++) printf("0");
                           printf("%dWIFILAND PRELEVEMENT %s     %s      \n",montant,argv[1],row[3]);
                           }
                   }
           }
           /*derniere ligne qui correspond a "total prelevement"*/
     
           sprintf(tmp,"%d",total_montant);
           printf("0808        497816");
           for(i=0;i<84;i++) printf(" ");
           for(i=0;i<(16-strlen(tmp));i++) printf(" ");
           printf("%d",total_montant);
           for(i=0;i<42;i++) printf(" ");
           printf("\n");
     
           mysql_close(mysql);
    }

  20. #20
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Mon conseil du jour : tu suis quelques tutos de php/mysql, et tu sauras aisément convertir ce script en php. Il est bien moins compliqué que je ne me l'imaginais.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [PHP 4] Déployer et exécuter un webservice dans un site développé en PHP
    Par dreamcat1 dans le forum Langage
    Réponses: 1
    Dernier message: 13/05/2009, 11h48
  2. Affichage d'articles dans un site codé en PHP
    Par Ex-floodeur dans le forum Langage
    Réponses: 3
    Dernier message: 09/07/2008, 22h27
  3. Réponses: 6
    Dernier message: 29/01/2008, 17h45
  4. [FTP] Rechercher des fichiers dans un site FTP par PHP
    Par jack_1981 dans le forum Langage
    Réponses: 31
    Dernier message: 03/08/2006, 13h37
  5. Mettre un code php dans une variable...
    Par kedare dans le forum Langage
    Réponses: 6
    Dernier message: 19/09/2005, 12h55

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