Webservice SOAP - passage du contenu d'un fichier en variable

Webservice SOAP - passage du contenu d'un fichier en variable - PHP - Programmation

Marsh Posté le 13-08-2009 à 14:50:54    

Hello à tous,
 
Je dois faire appel à un serveur soap pour exécuter un webservice (faire passer le contenu d'un gros fichier d'un serveur à un client).
 
Le serveur ouvre donc le fichier, lit son contenu, et place celui-ci dans une variable qui, après mise en xml sera directement dans le flux SOAP.
 
(je fais donc l'opération suivante :
 

Code :
  1. $contenuFichier = null;
  2. if ($f = fopen('D:\mon_fichier_a_envoyer.txt', 'r')) do {
  3.    $contenuFichier .= fgets($f);
  4. } while (!feof($f));
  5. fclose($f);


 
Lorsque mon_fichier_a_envoyer.txt dépasse 7 ou 8 mégas, php plante (et ce a priori parce qu'il est impossible de placer une variable d'une certaine quantité de méga octets directement dans une variable. Vous pensez qu'il y a une alternative à ce problème ? Ou que dans mon php.ini je peux trouver un paramètre permettant d'augmenter la taille allouée par une variable ?
 
Merci d'avance !


---------------
Atari 520 ST 256 Ko
Reply

Marsh Posté le 13-08-2009 à 14:50:54   

Reply

Marsh Posté le 13-08-2009 à 15:03:22    

Tu as quoi comme message d'erreur ?
Tu peux aussi créer un tableau et scinder ton fichier pour chaque élément du tableau (fin vu le peu que je connais de PhP je suis pas sur que ça solutionne ton problème).


---------------
Instagram - Mon PVT en Australie.
Reply

Marsh Posté le 13-08-2009 à 17:40:03    

J'ai trouvé une solution à mon problème finalement. Faut configurer le php.ini de cette manière :
1/ mettre le max_execution_time à une valeur plus importante (si le traitement du fichier de 50 megs est un peu long)
2/ changer le paramètre memory_limit pour éviter à php d'être emmerdé de ce côté là.
 
La ça marche mieux :d Merci LePhasme pour ton idée que je garde sous le coude, si besoin ;)


---------------
Atari 520 ST 256 Ko
Reply

Sujets relatifs:

Leave a Replay

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