[php] coté serveur ou coté client ??

coté serveur ou coté client ?? [php] - PHP - Programmation

Marsh Posté le 28-07-2005 à 17:26:46    

Bonjour a tous,  
 
j'ai réalisé une application en PHP utilisant des commandes pour manipuler des fichiers tel que fputs, fopen... Pour le moment je travaille avec Easy Php qui me permet de lire mes propres pages. Lorsque je fait un fputs dans mon programme en utilisant le mode écriture, mon fichier est bien créé dans mon repertoire.
 
Le jour viendra ou mon application sera hébergé chez un serveur. Qd je ferais fputs le fichier se logera ou ??Ds le rep du serveur?
 

Reply

Marsh Posté le 28-07-2005 à 17:26:46   

Reply

Marsh Posté le 28-07-2005 à 17:29:12    

Reply

Marsh Posté le 28-07-2005 à 17:40:19    

Ce fichier la ne peut pas etre accessible par un utilisateur. Y a t il possibilité, au lieu qu 'il soit enregistrer ds le répertoire du serveur, etre enregistré dans un repertoire de l'utilisateur.

Reply

Marsh Posté le 28-07-2005 à 17:49:52    

Il faut le balancer vers le navigateur du client, il pourra faire un simple "save as" .... non ?


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 28-07-2005 à 17:52:02    

Citation :

Ce fichier la ne peut pas etre accessible par un utilisateur.


Pourquoi ?
 

Citation :

...un repertoire de l'utilisateur.


Sur le serveur ? Oui si le serveur web à le droit d'y écrire.
Sur la machine de l'utilisateur ? Non, sauf en ftp par exemple si l'utilisateur a un serveur ftp sur sa machine.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 28-07-2005 à 19:05:31    

Ricco a écrit :

Il faut le balancer vers le navigateur du client, il pourra faire un simple "save as" .... non ?


 
+1


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 29-07-2005 à 10:01:01    

ok merci pour ces infos!
 
J'ai testé de partager mon application par le réseau mais c'est bizarre. Je suis en local sur ma machine avec EasyPHP et j'ai réalisé une application. J'utilise aussi fputs par exemple donc mes nouveau fichiers se placent dans le repertoire de base.
 
Maintenant, je souhaite utiliser mon ordinateur en tant que serveur et utilisé mon application depuis un autre poste en tant que client. J'ai créé un nouveau repertoire partagé accessible par le réseau pour l'ordinateur client.  
 
Lorsque l'ordinateur client lance l'application, l'application fonctionne tres bien mais sur mon écran (serveur) j'ai aussi l'application qui se lance ??  
 
Je pense qu'il peut y avoir un gros probleme si je mets 3 ordinateurs en réseau et si 2 ordinateurs client utilise en meme temps l'application !!! Ca risque de ne pas fonctionner ??

Reply

Marsh Posté le 29-07-2005 à 11:04:59    

A mon avis là, il faut commencer par revoir le concept de serveur WEB :heink:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 29-07-2005 à 11:06:48    

Mara's dad a écrit :

A mon avis là, il faut commencer par revoir le concept de serveur WEB :heink:


 
+1

Reply

Marsh Posté le 29-07-2005 à 11:06:50    

[:pingouino]


---------------
Pour les sudistes :)
Reply

Marsh Posté le 29-07-2005 à 11:06:50   

Reply

Marsh Posté le 29-07-2005 à 11:15:27    

Il y a une solution a ce probleme??
 
Je vais me renseigner sur les principes des serveurs web.
Si quelqu'un peut m'aider, c'est sympa
 
Merci de votre aide.

Reply

Marsh Posté le 29-07-2005 à 11:23:19    

Fait des recherches dans google sur les applis n-tiers.
Comme cette page là http://www.a525g.com/methodes-gest [...] ntiers.php .... pê g la flemme de lire :D


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 29-07-2005 à 11:36:43    

Ce ne me fait pas trop avancer dans la résolution de mon probleme.
 
Ca doit donc etre normal que l'application lancée sur le client apparaise a mon écran puisque je suis le serveur. Mais s'il y a 2 clients en meme temps sur l'application ??

Reply

Marsh Posté le 29-07-2005 à 11:48:39    

Lol C'est quoi ton appli au fait ? Juste des script php ? Ca veut dire quoi "ça apparait sur ton écran?"  
Pourquoi on ne pourrait pas lancer 2 fois le script en même temps ? Tu as des problèmes de concurence ?


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 29-07-2005 à 11:56:52    

En fait mon aplication utilise un fichier 'test.csv'. Mon script php filtre ce fichier en fonction de ce qui est demandé par l'utilisateur. Cela me créé un autre fichier par exemple 'new.csv' contenant ces infos filtrés.
 
Ensuite mon script PHP lance Excel avec la commande exec (alors déja la ca fait moyen car c'es excel du serveur qui se lance et non du client! (1er probleme) )  
 
L'autre probleme est que si 2 utilisateurs utilise au meme moment l'application, le fiichier 'new.csv' ne peut pas etre indépendants des 2 utilisateurs !!

Reply

Marsh Posté le 29-07-2005 à 12:02:03    

Vu comme ça, je dirais que tu pourrais peut-être creer des new.csv avec des noms différents pour chaque clients.  
Ensuite tu fais quoi avec excel ? Juste ouvrir le csv ?


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 29-07-2005 à 12:12:07    

oui merci Ricco, je pensais peut etre faire ca, mettre un fichier differents pour chaque nouveau fichiers clients. (car en plus mon application est une petite application utilisés par une dizaine de personnes)
 
En fait je lance un fichier excel ( mais il faut que je trouve le moyen de lancer Excel coté client). Ce fichier contient une macro qui importe le fichier 'new.csv' puis réalise un graphique directement en fonction de ce qu'il y a dedans.

Reply

Marsh Posté le 29-07-2005 à 14:17:58    

Ok donc à priori, t'as juste à faire en sorte que excel et la macro excel soit installé chez les client et tu envoit le fichier csv vers le navigateur du client. Regarde du coté des fonction header('filename: ...') header( 'file-type: ... ) ou des trucs comme ça. La le navigateur du client ouvrira le fichier csv, sans même que l'utilisateur ait à le manipuler surement.  
Maintenant, pour generer des graphiques, nous on se sert plutôt de jpgraph.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 29-07-2005 à 14:21:04    

oui j'ai entendu parler de ca mais il fallait obligatoirement que j'utilise Excel car je mets en relation aussi des tabeaux dynamiques etc..
 
Merci de ton aide Ricco. Je vais regarder du coté des header.
 
A tout a l'heure surement...

Reply

Marsh Posté le 29-07-2005 à 14:40:39    

Le probleme avec les headers, c'est qu'il doivent etre déclaré des le début du script. Or moi je veux envoyer le fichier une fois filtré donc a la fin du script.

Reply

Marsh Posté le 29-07-2005 à 14:44:39    

Non, je croyais ça aussi, mais faut juste que ça soit le premiers truc que tu balance dans le flux de sortie cad qu'il faut juste que tu ne fasse pas de print ou de echo avant. Tu peux faire tout les calculs ou traitements sur d'autres fichiers que tu veux.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le 29-07-2005 à 15:15:28    

ok merci

Reply

Marsh Posté le 29-07-2005 à 15:30:06    

j'ai fait un petit exemple mais ca ne marche déja pas !
 

Citation :

<html>
<body>
<?php
header("Content-Type: text/x-csv" );
header('Content-Disposition: attachement; filename="list.csv"');
?>  
</body>
</html>


 
Mon fichier list.csv est correct.

Reply

Marsh Posté le 29-07-2005 à 15:33:46    

Non en fait c'est bon , il ne faut pas qu'il soit entouré par les balises html et body !!
et pas d'espaces je crois !!

Reply

Marsh Posté le 29-07-2005 à 15:40:42    

Tu crees un repertoire partagé pour que les clients puissent executer ton script php ? Quelle drole d'idee quand meme ! Tu as un argument qui justifie cela ?

Reply

Marsh Posté le 29-07-2005 à 15:56:55    

C'est un test pour voir la relation client/serveur. C'est pour qu'il soit accessible a partir du réseau.

Reply

Marsh Posté le 29-07-2005 à 16:02:56    

header ne me semble pas la bonne solution car je dois tout de meme utiliser du code php permettant d'aaficher des infos a l'écran. Par exemple j'ai un bout de code qui permet de vérifier le format d'une date et d'afficher ou se situe l'erreur s'il y en a une.

Reply

Marsh Posté le 29-07-2005 à 16:04:28    

Pourquoi tu n'utilises pas le serveur web qui est fait pour cela ?

Reply

Marsh Posté le 29-07-2005 à 16:30:58    

erwan551 a écrit :

j'ai fait un petit exemple mais ca ne marche déja pas !
 

Citation :

<html>
<body>
<?php
header("Content-Type: text/x-csv" );
header('Content-Disposition: attachement; filename="list.csv"');
?>  
</body>
</html>


 
Mon fichier list.csv est correct.


 
C'est normal que ça marche pas puisque tu ecris <html> en premier dans le flux. Je te rapelle que tu envoie un fichier csv au client, c'est pas un fichier html, il ne doit pas commencer forcement par <html>
 
le code ça serait plutôt un truc tout bete
 

Code :
  1. <?php
  2. exec ... ( tout ce que tu veux )
  3. header("Content-Type: text/x-csv" );
  4. $toto = file(...)
  5. ....
  6. fput($toto);
  7. ?>


 
Autrement dit dans le flux de sortie y'a le header, puis le "code source" du fichier csv


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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