je veux faire un ftp_get (type ASCII) à partir d'un poste XP sur un
serveur linux qui héberge le serveur FTP . Le serveur WEB est sous windows
avec Apache2 et php 4.3.7 . Sur linux les lignes se termine par Line Feed
=code hexa 0A et dans le fichier récupéré sur le serveur WEB les 0A se
transforme en 0D0D0A . Avec php 4.3.10 c'est pire je récupère 0D0A0D0A en
plus à la fin du fichier et avec php 5.0.3 le LF(0A) se transforme en
0D0D sur le serveur WEB .Quelqu'un a t-il la solution pour que le get_ftp
ASCII donne 0D0A en fin de ligne comme tout bon ftp get sous Windows .
Merci à qui pourrait me dépanner .
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
je veux faire un ftp_get (type ASCII) [coupe] Merci à qui pourrait me dépanner .
Si j'ai bien compris, tu as (à voir avec une police à espacement fixe) :
{ XP } { client WEB } --> { serveur WEB } { Linux } { client FTP } --> { serveur FTP }
Tout d'abord, es-tu absolument sûre que le fichier sur Linux ne contient que des 0A et pas quelques 0D en plus ? Quels outils utilises-tu, sur Linux et sur XP, pour vérifier le contenu des fichiers ?
je veux faire un ftp_get (type ASCII) [coupe]
Merci à qui pourrait me dépanner .
Si j'ai bien compris, tu as (à voir avec une police à espacement fixe) :
{ XP }
{ client WEB } --> { serveur WEB } { Linux }
{ client FTP } --> { serveur FTP }
Tout d'abord, es-tu absolument sûre que le fichier sur Linux ne contient
que des 0A et pas quelques 0D en plus ? Quels outils utilises-tu, sur
Linux et sur XP, pour vérifier le contenu des fichiers ?
je veux faire un ftp_get (type ASCII) [coupe] Merci à qui pourrait me dépanner .
Si j'ai bien compris, tu as (à voir avec une police à espacement fixe) :
{ XP } { client WEB } --> { serveur WEB } { Linux } { client FTP } --> { serveur FTP }
Tout d'abord, es-tu absolument sûre que le fichier sur Linux ne contient que des 0A et pas quelques 0D en plus ? Quels outils utilises-tu, sur Linux et sur XP, pour vérifier le contenu des fichiers ?
JMF
"Olivier Miakinen" <om+ a écrit dans le message de news:ctgk03$25fs$
je veux faire un ftp_get (type ASCII) [coupe] Merci à qui pourrait me dépanner .
Si j'ai bien compris, tu as (à voir avec une police à espacement fixe) :
{ XP } { client WEB } --> { serveur WEB } { Linux } { client FTP } --> { serveur FTP }
Tout d'abord, es-tu absolument sûre que le fichier sur Linux ne contient que des 0A et pas quelques 0D en plus ? Quels outils utilises-tu, sur Linux et sur XP, pour vérifier le contenu des fichiers ? ----
Absolument sûr , sous linux j'ai hexedit et sous windows un editeur hexa perso , en fait dans le script php je fais un ftp_get qui ramène le fichier sur le serveur WEB sous windows , et ensuite je fais un readfile pour le ramener sur le poste de travail .j'ai vérifié le readfile est complètement transparent , il le ramène tel qu'il est sur le serveur WEB .
"Olivier Miakinen" <om+news@miakinen.net> a écrit dans le message de
news:ctgk03$25fs$1@cabale.usenet-fr.net...
je veux faire un ftp_get (type ASCII) [coupe]
Merci à qui pourrait me dépanner .
Si j'ai bien compris, tu as (à voir avec une police à espacement fixe) :
{ XP }
{ client WEB } --> { serveur WEB } { Linux }
{ client FTP } --> { serveur FTP }
Tout d'abord, es-tu absolument sûre que le fichier sur Linux ne contient
que des 0A et pas quelques 0D en plus ? Quels outils utilises-tu, sur
Linux et sur XP, pour vérifier le contenu des fichiers ?
----
Absolument sûr , sous linux j'ai hexedit et sous windows un editeur hexa
perso , en fait dans le script php je fais un ftp_get qui ramène le fichier
sur le serveur WEB sous windows , et ensuite je fais un readfile pour le
ramener sur le poste de travail .j'ai vérifié le readfile est complètement
transparent , il le ramène tel qu'il est sur le serveur WEB .
"Olivier Miakinen" <om+ a écrit dans le message de news:ctgk03$25fs$
je veux faire un ftp_get (type ASCII) [coupe] Merci à qui pourrait me dépanner .
Si j'ai bien compris, tu as (à voir avec une police à espacement fixe) :
{ XP } { client WEB } --> { serveur WEB } { Linux } { client FTP } --> { serveur FTP }
Tout d'abord, es-tu absolument sûre que le fichier sur Linux ne contient que des 0A et pas quelques 0D en plus ? Quels outils utilises-tu, sur Linux et sur XP, pour vérifier le contenu des fichiers ? ----
Absolument sûr , sous linux j'ai hexedit et sous windows un editeur hexa perso , en fait dans le script php je fais un ftp_get qui ramène le fichier sur le serveur WEB sous windows , et ensuite je fais un readfile pour le ramener sur le poste de travail .j'ai vérifié le readfile est complètement transparent , il le ramène tel qu'il est sur le serveur WEB .
Olivier Miakinen
Tout d'abord, es-tu absolument sûre [...]
Absolument sûr ,
Tout d'abord pardon pour la confusion. Il est difficile de deviner le sexe d'un intervenant avec seulement des initiales.
sous linux j'ai hexedit et sous windows un editeur hexa perso , en fait dans le script php je fais un ftp_get qui ramène le fichier sur le serveur WEB sous windows , et ensuite je fais un readfile pour le ramener sur le poste de travail .j'ai vérifié le readfile est complètement transparent , il le ramène tel qu'il est sur le serveur WEB .
Merci de la précision. Il doit donc y avoir un bug, soit sur le serveur ftpd, soit sur le client ftp, soit dans une combinaison des deux. Si tu veux investiguer par toi-même, voici quelques pistes : - essayer avec un vrai client FTP sur la même machine, vers le même serveur FTP ; - essayer avec le même ftp_get, mais vers une autre machine ; - refaire tous les essais en mode binaire ; - essayer le ftp_put ; - ...
Pour tout ceci, essaye avec un fichier de test contenant toutes les séquences possibles, par exemple : xxx0Axxx0Dxxx0D0Axxx0A0Dxxx0D0Dxxx0A0Axxx
Je suis désolé de ne pas pouvoir t'aider plus, je n'ai jamais utilisé le ftp_get de PHP. Ah si, encore deux choses. D'abord, avec un vrai client FTP tu peux tracer les commandes avec 'trace' : regarde si cela t'apprend quelque chose. Et puis quand tu transfères un fichier, il te dit combien d'octets ont été transférés (0D0A compte pour deux) : compare ça à la longueur des deux fichiers.
Tout d'abord, es-tu absolument sûre [...]
Absolument sûr ,
Tout d'abord pardon pour la confusion. Il est difficile de deviner le
sexe d'un intervenant avec seulement des initiales.
sous linux j'ai hexedit et sous windows un editeur hexa
perso , en fait dans le script php je fais un ftp_get qui ramène le fichier
sur le serveur WEB sous windows , et ensuite je fais un readfile pour le
ramener sur le poste de travail .j'ai vérifié le readfile est complètement
transparent , il le ramène tel qu'il est sur le serveur WEB .
Merci de la précision. Il doit donc y avoir un bug, soit sur le serveur
ftpd, soit sur le client ftp, soit dans une combinaison des deux. Si tu
veux investiguer par toi-même, voici quelques pistes :
- essayer avec un vrai client FTP sur la même machine, vers le même
serveur FTP ;
- essayer avec le même ftp_get, mais vers une autre machine ;
- refaire tous les essais en mode binaire ;
- essayer le ftp_put ;
- ...
Pour tout ceci, essaye avec un fichier de test contenant toutes les
séquences possibles, par exemple :
xxx0Axxx0Dxxx0D0Axxx0A0Dxxx0D0Dxxx0A0Axxx
Je suis désolé de ne pas pouvoir t'aider plus, je n'ai jamais utilisé le
ftp_get de PHP. Ah si, encore deux choses. D'abord, avec un vrai client
FTP tu peux tracer les commandes avec 'trace' : regarde si cela
t'apprend quelque chose. Et puis quand tu transfères un fichier, il
te dit combien d'octets ont été transférés (0D0A compte pour deux) :
compare ça à la longueur des deux fichiers.
Tout d'abord pardon pour la confusion. Il est difficile de deviner le sexe d'un intervenant avec seulement des initiales.
sous linux j'ai hexedit et sous windows un editeur hexa perso , en fait dans le script php je fais un ftp_get qui ramène le fichier sur le serveur WEB sous windows , et ensuite je fais un readfile pour le ramener sur le poste de travail .j'ai vérifié le readfile est complètement transparent , il le ramène tel qu'il est sur le serveur WEB .
Merci de la précision. Il doit donc y avoir un bug, soit sur le serveur ftpd, soit sur le client ftp, soit dans une combinaison des deux. Si tu veux investiguer par toi-même, voici quelques pistes : - essayer avec un vrai client FTP sur la même machine, vers le même serveur FTP ; - essayer avec le même ftp_get, mais vers une autre machine ; - refaire tous les essais en mode binaire ; - essayer le ftp_put ; - ...
Pour tout ceci, essaye avec un fichier de test contenant toutes les séquences possibles, par exemple : xxx0Axxx0Dxxx0D0Axxx0A0Dxxx0D0Dxxx0A0Axxx
Je suis désolé de ne pas pouvoir t'aider plus, je n'ai jamais utilisé le ftp_get de PHP. Ah si, encore deux choses. D'abord, avec un vrai client FTP tu peux tracer les commandes avec 'trace' : regarde si cela t'apprend quelque chose. Et puis quand tu transfères un fichier, il te dit combien d'octets ont été transférés (0D0A compte pour deux) : compare ça à la longueur des deux fichiers.
JMF
Olivier Miakinen wrote:
Je suis désolé de ne pas pouvoir t'aider plus, je n'ai jamais utilisé le ftp_get de PHP. Ah si, encore deux choses. D'abord, avec un vrai client FTP tu peux tracer les commandes avec 'trace' : regarde si cela t'apprend quelque chose. Et puis quand tu transfères un fichier, il te dit combien d'octets ont été transférés (0D0A compte pour deux) : compare ça à la longueur des deux fichiers.
------------------------------------------- Avec un vrai client ftp , tout est correct en ASCII avec mon serveur FTPD , ça fonctionne tres bien avec ftp_put (ASCII ou BINARY) et il y a effectivement un bug avec ftp_get en ASCII . J'ai vu sur les forums que d'autres ont le même problème .Mais ce qui me trouble le plus c'est que ce problème détecté il ya déja un certain temps ne soit pas corrigé dans les versions récentes de php (4 ou 5 ) et qu'en plus selon les versions la fonction ftp_get ne donne pas les mêmes résultats et pas celui attendu . Merci en tout cas pour tes réponses .
Olivier Miakinen wrote:
Je suis désolé de ne pas pouvoir t'aider plus, je n'ai jamais utilisé le
ftp_get de PHP. Ah si, encore deux choses. D'abord, avec un vrai client
FTP tu peux tracer les commandes avec 'trace' : regarde si cela
t'apprend quelque chose. Et puis quand tu transfères un fichier, il
te dit combien d'octets ont été transférés (0D0A compte pour deux) :
compare ça à la longueur des deux fichiers.
-------------------------------------------
Avec un vrai client ftp , tout est correct en ASCII avec mon serveur FTPD ,
ça fonctionne tres bien avec ftp_put (ASCII ou BINARY) et il y a
effectivement un bug avec ftp_get en ASCII . J'ai vu sur les forums que
d'autres ont le même problème .Mais ce qui me trouble le plus c'est que ce
problème détecté il ya déja un certain temps ne soit pas corrigé dans les
versions récentes de php (4 ou 5 ) et qu'en plus selon les versions la
fonction ftp_get ne donne pas les mêmes résultats et pas celui attendu .
Merci en tout cas pour tes réponses .
Je suis désolé de ne pas pouvoir t'aider plus, je n'ai jamais utilisé le ftp_get de PHP. Ah si, encore deux choses. D'abord, avec un vrai client FTP tu peux tracer les commandes avec 'trace' : regarde si cela t'apprend quelque chose. Et puis quand tu transfères un fichier, il te dit combien d'octets ont été transférés (0D0A compte pour deux) : compare ça à la longueur des deux fichiers.
------------------------------------------- Avec un vrai client ftp , tout est correct en ASCII avec mon serveur FTPD , ça fonctionne tres bien avec ftp_put (ASCII ou BINARY) et il y a effectivement un bug avec ftp_get en ASCII . J'ai vu sur les forums que d'autres ont le même problème .Mais ce qui me trouble le plus c'est que ce problème détecté il ya déja un certain temps ne soit pas corrigé dans les versions récentes de php (4 ou 5 ) et qu'en plus selon les versions la fonction ftp_get ne donne pas les mêmes résultats et pas celui attendu . Merci en tout cas pour tes réponses .
Paul Delannoy
JMF a écrit:
Olivier Miakinen wrote:
Je suis désolé de ne pas pouvoir t'aider plus, je n'ai jamais utilisé le ftp_get de PHP. Ah si, encore deux choses. D'abord, avec un vrai client FTP tu peux tracer les commandes avec 'trace' : regarde si cela t'apprend quelque chose. Et puis quand tu transfères un fichier, il te dit combien d'octets ont été transférés (0D0A compte pour deux) : compare ça à la longueur des deux fichiers.
------------------------------------------- Avec un vrai client ftp , tout est correct en ASCII avec mon serveur FTPD , ça fonctionne tres bien avec ftp_put (ASCII ou BINARY) et il y a effectivement un bug avec ftp_get en ASCII . J'ai vu sur les forums que d'autres ont le même problème .Mais ce qui me trouble le plus c'est que ce problème détecté il ya déja un certain temps ne soit pas corrigé dans les versions récentes de php (4 ou 5 ) et qu'en plus selon les versions la fonction ftp_get ne donne pas les mêmes résultats et pas celui attendu .
Tu peux sans doute ajouter une étape de traitement du résultat de ftp_get pour réatblr ce que tu veux comme fin delignes (genre ni2dos, ou autre utilitaire bien choisi) ?
JMF a écrit:
Olivier Miakinen wrote:
Je suis désolé de ne pas pouvoir t'aider plus, je n'ai jamais utilisé le
ftp_get de PHP. Ah si, encore deux choses. D'abord, avec un vrai client
FTP tu peux tracer les commandes avec 'trace' : regarde si cela
t'apprend quelque chose. Et puis quand tu transfères un fichier, il
te dit combien d'octets ont été transférés (0D0A compte pour deux) :
compare ça à la longueur des deux fichiers.
-------------------------------------------
Avec un vrai client ftp , tout est correct en ASCII avec mon serveur FTPD ,
ça fonctionne tres bien avec ftp_put (ASCII ou BINARY) et il y a
effectivement un bug avec ftp_get en ASCII . J'ai vu sur les forums que
d'autres ont le même problème .Mais ce qui me trouble le plus c'est que ce
problème détecté il ya déja un certain temps ne soit pas corrigé dans les
versions récentes de php (4 ou 5 ) et qu'en plus selon les versions la
fonction ftp_get ne donne pas les mêmes résultats et pas celui attendu .
Tu peux sans doute ajouter une étape de traitement du résultat de
ftp_get pour réatblr ce que tu veux comme fin delignes (genre ni2dos, ou
autre utilitaire bien choisi) ?
Je suis désolé de ne pas pouvoir t'aider plus, je n'ai jamais utilisé le ftp_get de PHP. Ah si, encore deux choses. D'abord, avec un vrai client FTP tu peux tracer les commandes avec 'trace' : regarde si cela t'apprend quelque chose. Et puis quand tu transfères un fichier, il te dit combien d'octets ont été transférés (0D0A compte pour deux) : compare ça à la longueur des deux fichiers.
------------------------------------------- Avec un vrai client ftp , tout est correct en ASCII avec mon serveur FTPD , ça fonctionne tres bien avec ftp_put (ASCII ou BINARY) et il y a effectivement un bug avec ftp_get en ASCII . J'ai vu sur les forums que d'autres ont le même problème .Mais ce qui me trouble le plus c'est que ce problème détecté il ya déja un certain temps ne soit pas corrigé dans les versions récentes de php (4 ou 5 ) et qu'en plus selon les versions la fonction ftp_get ne donne pas les mêmes résultats et pas celui attendu .
Tu peux sans doute ajouter une étape de traitement du résultat de ftp_get pour réatblr ce que tu veux comme fin delignes (genre ni2dos, ou autre utilitaire bien choisi) ?
__marc.quinton__
JMF wrote:
je veux faire un ftp_get (type ASCII) à partir d'un poste XP sur un serveur linux qui héberge le serveur FTP . Le serveur WEB est sous windows avec Apache2 et php 4.3.7 .
tu as regardé :
* du coté des classes Pear ? * est-ce qu'un simple fopen("ftp://$url/"), ne fonctionnerait pas mieux ?
JMF wrote:
je veux faire un ftp_get (type ASCII) à partir d'un poste XP sur un
serveur linux qui héberge le serveur FTP . Le serveur WEB est sous windows
avec Apache2 et php 4.3.7 .
tu as regardé :
* du coté des classes Pear ?
* est-ce qu'un simple fopen("ftp://$url/"), ne fonctionnerait pas mieux ?
je veux faire un ftp_get (type ASCII) à partir d'un poste XP sur un serveur linux qui héberge le serveur FTP . Le serveur WEB est sous windows avec Apache2 et php 4.3.7 .
tu as regardé :
* du coté des classes Pear ? * est-ce qu'un simple fopen("ftp://$url/"), ne fonctionnerait pas mieux ?
JMF
Paul Delannoy wrote:
JMF a écrit:
Olivier Miakinen wrote:
------------------------------------------- Avec un vrai client ftp , tout est correct en ASCII avec mon serveur FTPD , ça fonctionne tres bien avec ftp_put (ASCII ou BINARY) et il y a effectivement un bug avec ftp_get en ASCII . J'ai vu sur les forums que d'autres ont le même problème .Mais ce qui me trouble le plus c'est que ce problème détecté il ya déja un certain temps ne soit pas corrigé dans les versions récentes de php (4 ou 5 ) et qu'en plus selon les versions la fonction ftp_get ne donne pas les mêmes résultats et pas celui attendu .
Tu peux sans doute ajouter une étape de traitement du résultat de ftp_get pour réatblr ce que tu veux comme fin delignes (genre ni2dos, ou autre utilitaire bien choisi) ? ---------------------------------------------
c'est comme ça que j'ai résolu le problème , je fais un ftp_get binaire et je rajoute un traitement qui substitue 0D0A à 0A avant le readfile qui ramène le fichier sur le poste client .
Paul Delannoy wrote:
JMF a écrit:
Olivier Miakinen wrote:
-------------------------------------------
Avec un vrai client ftp , tout est correct en ASCII avec mon serveur FTPD
, ça fonctionne tres bien avec ftp_put (ASCII ou BINARY) et il y a
effectivement un bug avec ftp_get en ASCII . J'ai vu sur les forums que
d'autres ont le même problème .Mais ce qui me trouble le plus c'est que
ce problème détecté il ya déja un certain temps ne soit pas corrigé dans
les
versions récentes de php (4 ou 5 ) et qu'en plus selon les versions la
fonction ftp_get ne donne pas les mêmes résultats et pas celui attendu .
Tu peux sans doute ajouter une étape de traitement du résultat de
ftp_get pour réatblr ce que tu veux comme fin delignes (genre ni2dos, ou
autre utilitaire bien choisi) ?
---------------------------------------------
c'est comme ça que j'ai résolu le problème , je fais un ftp_get binaire et
je rajoute un traitement qui substitue 0D0A à 0A avant le readfile qui
ramène le fichier sur le poste client .
------------------------------------------- Avec un vrai client ftp , tout est correct en ASCII avec mon serveur FTPD , ça fonctionne tres bien avec ftp_put (ASCII ou BINARY) et il y a effectivement un bug avec ftp_get en ASCII . J'ai vu sur les forums que d'autres ont le même problème .Mais ce qui me trouble le plus c'est que ce problème détecté il ya déja un certain temps ne soit pas corrigé dans les versions récentes de php (4 ou 5 ) et qu'en plus selon les versions la fonction ftp_get ne donne pas les mêmes résultats et pas celui attendu .
Tu peux sans doute ajouter une étape de traitement du résultat de ftp_get pour réatblr ce que tu veux comme fin delignes (genre ni2dos, ou autre utilitaire bien choisi) ? ---------------------------------------------
c'est comme ça que j'ai résolu le problème , je fais un ftp_get binaire et je rajoute un traitement qui substitue 0D0A à 0A avant le readfile qui ramène le fichier sur le poste client .