Echange de datas entre un site en PHP et un programme en C ?

Echange de datas entre un site en PHP et un programme en C ? - PHP - Programmation

Marsh Posté le 07-02-2007 à 20:21:05    

Bonjour,
 
je réalise une application qui se décompose en deux parties: un code C sur le serveur, et un code html/php/javascript chez le client (enfin un site web lancé depuis le poste client)
A l'heure actuelle, pour envoyer des données entre les deux programmes, j'utilise un fichier txt sur le serveur que je viens lire/écrire si besoin.
Cependant, je ne trouve pas ça propre du tout; deplus si 2 clients viennent se connecter, cela pose forcément problème et le fichier txt peut alors etre endommagé (si deux écriture en meme tps par ex)
 
donc je souhaiterais pouvoir envoyer directement mes datas entre les deux programmes (comme des parametres de fonction en C par ex.) mais je ne sais absolument pas comment faire!
 
qq'un pourrait t'il m'aider svp?
 
merci d'avance!

Reply

Marsh Posté le 07-02-2007 à 20:21:05   

Reply

Marsh Posté le 07-02-2007 à 22:49:55    

Avec exec() ?

Code :
  1. string exec ( string command [, array &output [, int &return_var]] )


http://fr2.php.net/manual/fr/function.exec.php

Reply

Marsh Posté le 08-02-2007 à 09:39:49    

apparemment ça permet de lancer un *.exe sur le poste client
dans mon cas, je cherche à envoyer des infos sur un *.exe déjà executé sur le poste serveur

Reply

Marsh Posté le 08-02-2007 à 09:41:06    

Socket?
http://fr.php.net/fsockopen


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 08-02-2007 à 09:53:47    

Moriaben a écrit :

apparemment ça permet de lancer un *.exe sur le poste client

non, sur le serveur

Reply

Marsh Posté le 08-02-2007 à 10:35:27    

soju a écrit :

non, sur le serveur


+1, sinon ça voudrait dire que je pourrais lancer n'importe quel EXE sur ta machine si tu accèdes à ma page PHP... HA HA, TAHT WOULD BE EVIL.   [:pingouino]
 
Le code PHP est executé sur le serveur, pas sur le client!


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 08-02-2007 à 10:46:51    

vrai c'est assez logique
mais ça ne résout pas mon problème car je ne souhaite pas lancer une nouvelle application... :)

Reply

Marsh Posté le 08-02-2007 à 10:48:55    

sockets, pipes nommés, etc... renseigne toi sur les IPC.
 
sinon si tu veux rester sur ton principe de fichiers, un répertoire, avec un fichier par client.

Reply

Marsh Posté le 08-02-2007 à 10:55:39    

+1 sur les IPC :spamafote:

Reply

Marsh Posté le 08-02-2007 à 11:25:22    

ok merci je vais regarder ça de plus près!
 
j'ai une autre question:
 
à l'heure actuelle, je liste les fichiers (dans un formulaire sur la page html) d'un repertoire se trouvant sur le serveur
cela fonctionne bien sauf que je n'arrive pas à faire en sorte qu'il n'affiche que les fichiers et pas les sous-répertoires. voici mon code:
 

Code :
  1. echo '<form method="post" enctype="multipart/form-data" action="files.php">
  2. <select name="listfiles">';
  3. while ($file = readdir($dir))
  4. {
  5.  if (($file!="." )&&($file!=".." ))
  6.  echo '<option value="$file">'.$file.'</option>';
  7. }
  8. echo '</select>
  9. <input type="submit" name="delete" value="Delete file"/><br><br>
  10. </form>';


 
qqun sait comment faire? merci!

Reply

Marsh Posté le 08-02-2007 à 11:25:22   

Reply

Marsh Posté le 08-02-2007 à 11:33:13    

essaye avec http://fr.php.net/is_dir
 
tu as aussi http://fr.php.net/glob qui est bien pratique

Reply

Marsh Posté le 08-02-2007 à 11:42:28    

j'ai modifié la ligne de test:
 

Code :
  1. if (($file!="." )&&($file!=".." )&&(is_dir($file)==false))


 
mais il affiche toujours le nom du sous-repertoire
j'ai aussi essayé avec:     is_dir($file)!=true


Message édité par Moriaben le 08-02-2007 à 11:43:28
Reply

Marsh Posté le 08-02-2007 à 11:49:16    

essaye avec is_file :

Code :
  1. if (($file!='.' )&&($file!='..' )&&(is_file($file)))

petite remarque, is_dir et is_file retourne un booléen, donc pas besoin de tester true/false comme tu l'as fait

Reply

Marsh Posté le 08-02-2007 à 11:51:59    

avec is_file, il ne m'affiche plus rien
je suis assez perplexe la ...

Reply

Marsh Posté le 09-02-2007 à 13:12:18    

Code :
  1. if (($file!="." )&&($file!=".." )&&(is_dir($dir.'/'.$file)==false))


(rajout de $dir.'/' dans ton code)


Message édité par Djebel1 le 09-02-2007 à 13:12:30
Reply

Marsh Posté le 09-02-2007 à 14:30:08    

ça ne fonctionne pas. il continue de m'afficher fichiers et dossiers.


Message édité par Moriaben le 09-02-2007 à 14:39:30
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed