begin process at 2010 03 20 20:40:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

FTP : de windows à linux


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

FTP : de windows à linux

mardi 6 avril 2004 à 17:28:31 | FTP : de windows à linux

ben83

Bonjour,

Lorsque je teste en local (Winsows IIS) le code php qui effectue simplement un upload (ftp_put) de fichier , je n'ai aucun problème. Par contre, une fois que j'envois ma page sur mon serveur linux, celui-ci ne parvint pas à "pointer" sur le fichier à uploader (fichier windows).
En fait, le serveur est incapable de comprende le chemin windows qui indique le fichier à télécharger (exemple basename("C:\Essai.txt") = "C:\Essai.txt" au lieu de "Essai.txt" tout court)
Est-ce que quelqu'un aurait une idée pour solutionner le problème, sachant que le site sera de toute façon hébergé sur un serveur linux.

Merci d'avance,
Ben
mardi 6 avril 2004 à 21:38:41 | Re : FTP : de windows à linux

ADPro22

Les chemins sous les autres OS sont sous la forme : /mon/arborescence/de/repertoires/

et les fonctions de ce type (certaines) dépendent de la version de php (-> à la compilation de php)


php3/functions/string.c

/* {{{ proto string basename(string path)
Return the filename component of the path */
void php3_basename(INTERNAL_FUNCTION_PARAMETERS)
{
pval *str;
char *ret, *c;
TLS_VARS;

if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &str)) {
WRONG_PARAM_COUNT;
}
convert_to_string(str);
ret = estrdup(str->value.str.val);
c = ret + str->value.str.len -1;
while (*c == '/'
#ifdef MSVC5
|| *c == '\\'
#endif
)
c--;
*(c + 1) = '\0';
if ((c = strrchr(ret, '/'))
#ifdef MSVC5
|| (c = strrchr(ret, '\\'))
#endif
) {
RETVAL_STRING(c + 1,1);
} else {
RETVAL_STRING(str->value.str.val,1);
}
efree(ret);
}
/* }}} */


donc pour php sous windows, le séparateur, c'est \ et uniquement \, alors que sous un autre os, le séparateur sera toujours /


donc pour php sous linux :
basename('C:\plop.ext') renvoie C:\plop.ext

réciproquement, un php pour windows donnerait
basename('/etc/php4/apache/php.ini') renvoie '/etc/php4/apache/php.ini'


Si tu veux une fonction qui fonctionne pour les deux types de chemins, il faut que tu écrives toi même une fonction en php et ne pas utiliser basename.


Cordialement,

ADPro22

mercredi 7 avril 2004 à 12:35:34 | Re : FTP : de windows à linux

ben83

ok thanks mais en fait le problème c'est surtout pour la fonction:

$upload = ftp_put($conn_id, $source,$destination, FTP_BINARY);

Supposons que je veux télécharger le fichier qui se trouve sur mon PC Windows : $source="C:\Essai.txt";

Vu que le serveur est un linux, il ne pointe effectivement pas sur le fichier (erreur opening). Essayer des trucs du genre "/C/Essai.txt" ne fonctionne bien sûr pas non plus.

A quoi doit ressembler $source? Ou ya t'il une autre fonction?

Bien à toi,
Ben
mercredi 7 avril 2004 à 14:03:28 | Re : FTP : de windows à linux

ADPro22

Je ne suis pas sûr de comprendre ton problème.

Selon ce qui est écrit :
tu veux transférer un fichier depuis ton windows sur un linux.
le serveur ftp est ? (c'est pas dit...)
le client ftp, c'est ton script php.
le serveur web sur lequel est executé le script php est un linux

dans cette configuration, il faut donc que ton serveur ftp soit sur le windows en question, et que tu ulises ftp_get avec ton client php !!

Si le serveur ftp et le client ftp en php sont sur la même machine, tu ne risques pas de pouvoir faire ton transfert....


Cordialement,

ADPro22
mercredi 7 avril 2004 à 15:23:55 | Re : FTP : de windows à linux

ben83

En fait l'idée est de monter une petite platforme qui permet d'uploader des fichiers (doc, xls, pdf,...) sur un serveur et de pouvoir downloader ceux-ci. Un genre de serveur d'échange.

Le serveur PHP est celui d'un pote qui a bien voulu héberger mes quelques pages php et qui acceuilera les fichiers qui seront downloader. Ce serveur tourne en linux.

Quant aux utilisateurs de la platforme, ceux-ci ont un PC qui tourne en windows. Ils envoient donc leurs fichiers locaux sur le serveur linux et peuvent en récupérer d'autres.

Note que ça ne pose pas de problème d'éventuellement utiliser un deuxième serveur uniquement pour stocker les fichiers downloadés. Mais j'ai essayé ça ne change rien.

Est-ce faisable?

Bien à toi,
Ben
mercredi 7 avril 2004 à 16:53:11 | Re : FTP : de windows à linux

ADPro22

Non, ce n'est pas possible.
Les échanges de fichiers ne pourront toujours se faire qu'entre le client et le serveur (ftp).
Et comme ton client (ftp) s'execute sur le serveur web, il ne pourra échanger des fichiers qu'avec le serveur ftp... mais pas les windows.

Si tu veux que n'importe quel client web puisse uploader, il faudra passer par un upload http.

Cordialement,

ADPro22
mercredi 7 avril 2004 à 18:26:42 | Re : FTP : de windows à linux

ben83

A ok. Vais me renseigner sur les téléchargements en http. Si par hasard tu connais une source où on en parle, n'hésite pas.

Un grand merci pour tes précieux conseils.

Ben
mercredi 7 avril 2004 à 18:50:07 | Re : FTP : de windows à linux

ben83

finalement j'ai trouvé: pour ceux que ça intéresse et qui ont rencontré le même problème :

http://www.phpcodeur.net/articles/php/upload

Ben


Cette discussion est classée dans : fichier, windows, ftp, serveur, linux


Répondre à ce message

Sujets en rapport avec ce message

Problème d'upload de fichier [ par phenixoiseau ] phénixOiseauBonjour,Voilà j'ai écrit un script pour charger un fichier vers un serveur. Lorsque j'execute le script depuis ma machine le chargement du Problème d'upload de fichier [ par phenixoiseau ] phénixOiseauBonjour,Voilà j'ai écrit un script pour charger un fichier vers un serveur. Lorsque j'execute le script depuis ma machine le chargement du Problème d'upload de fichier [ par phenixoiseau ] phénixOiseauBonjour,Voilà j'ai écrit un script pour charger un fichier vers un serveur. Lorsque j'execute le script depuis ma machine le chargement du PB de DL un fichier sur un Serveur FTP [ par Xilofeon ] BonjourVoila je voudrai que qaund ma page ce charge un fichier sur un serveur FTP demande a être téléchargé.Voila ce ke j'ai deja esayé de faire :<b exploration de fichier [ par gillou365 ] Salut,J'ai deux serveur : un apache/php/mysql et un ftp. J'ai créé une page pour explorer les fichiers. Elle marche très bien sur le premier serveur. Lire un fichier text depuis un autre serveur [ par murrigane ] Bonjour,J'aurais besoin d'accéder à la lecture d'un fichier text qui est hébergé sur un autre serveur (avec à l'intérieur des informations complémenta php FTP [ par florian99 ] bonjour, voilà mon probleme, je voudrais pouvoir charger des fichier sur un serveur FTP, j'utilise le code suivant que j'ai trouvé sur internet:   $ho Erreur de déconnection ftp_quit() suite à ftp_connect() .... [ par choupakill ] Bonsoir,Voilà depuis 4 jours que je parcours et re parcours tous les forums que j ai à ma dispo pour résoudre mon problème mais en vain.Machine serveu Lecture via FTP [ par geek1983 ] Bonjour, j'aimerais récupérer les données de la 6ième ligne contenue dans mon fichier texte qui se trouve sur un serveur FTP. J'ai réussi en télécharg Encodage PHP [ par Kickaha59 ] Bonjour à tous,Je souhaite spécifier que mon fichier php est encodé en tel norme, n'importe laquelle.Le principe c'est que si je vais de le linux  sur


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales