|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 28 ![]() |
Bonjour,
Mon application écrit des infos sur un serveur tiers. Mon application génère une chaine (=contenu du fichier), et l'écrit sur un serveur, avec fopen (ce serveur lit ensuite à intervalles réguliers les fichiers que je lui écris, les traite, puis les supprime) Mon problème est que cette écriture ne fonctionne PARFOIS PAS: dans ce cas le serveur tiers me dit que je lui ai envoyé un fichier vide. Je n'arrive pas à comprendre pourquoi. Voici ce que fait le script qui écrit: 1- il constitue la chaine $output (selon le format demandé par l'application) 2- il créé $nom_fichier_resultat: ce nom de fichier est toujours différent 3- il ouvre le fichier: $file = fopen ("ftp://mpasse:utilisateur@ftp.serveurtiers.com".$nom_fichier_resultat, "wb"); 4- il écrit la chaine dans le fichier: fputs ($file, $output); 5- il ferme le fichier: fclose ($file); NB. le lancement de ce script se fait (pour l'instant) manuellement. Avez-vous des pistes de réflexion ? |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 951 ![]() |
je serai toi je commencerai par faire un log local qui duplique $output, juste histoire de ...
moi j'aurai utilisé des fonctions plus spécifiques http://us2.php.net/manual/fr/function.tmpfile.php http://us2.php.net/manual/fr/function.ftp-fput.php et le gros avantage c'est de faire un http://us2.php.net/manual/fr/function.ftp-size.php à la fin du put pour loger la taille du fichier. edit: "wb" donc serveurs windows???
__________________
PHP fait nativement la validation d'adresse électronique Utilisez le bouton résolu! |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 28 ![]() |
Oui: mon serveur Apache écrit sur un serveur Windows.
Je vais décortiquer tes idées et je reviens... merci ! |
|
|
00
|
|
|
#4 | ||
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 28 ![]() |
Bon, j'ai suivi tes conseils, et voilà comment je fait maintenant (j'utilise ftp_put plutôt que ftp_fput)
Code :
Crois-tu que je devrais comparer la taille du fichier temporaire et celle du fichier envoyé: si c'est la même taille, alors l'écriture s'est bien déroulée ? |
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : septembre 2010 Messages : 1 239 ![]() |
Puisque tu utilise un fichier temporaire, pourquoi ne pas créer un fichier temporaire (premier lien donné par gene69)
__________________
- Réalisations - Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical. |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 28 ![]() |
Parce que pour le moment, je le supprime avec unlink, mais je me réserve la possibilité d'archiver peut-être ces fichiers plus tard
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com