Téléchargement fichier ini

Trinity_vv Messages postés 26 Date d'inscription jeudi 6 janvier 2005 Statut Membre Dernière intervention 22 novembre 2005 - 2 févr. 2005 à 14:28
yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006 - 3 févr. 2005 à 11:41
Salut à tous,

Une fois de plus, je mendi votre aide

On me demande de télécharger un fichier ini, en fait de faire un upload exactement, si quelqu'un pouvait me venir en aide, car la je suis vraiment larguée

Biz...!

7 réponses

yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006
2 févr. 2005 à 14:55
tu peux etre plus precis. Que veux tu telecharger pourquoi et qu'est ce qui te pose pb
A plus
0
Trinity_vv Messages postés 26 Date d'inscription jeudi 6 janvier 2005 Statut Membre Dernière intervention 22 novembre 2005
2 févr. 2005 à 15:11
En fait je veux charger un fichier .ini d'un poste client vers le serveur, et comme je n'ai jamais fait d'upload je panique un peu.
En fait, il me faudrait voir un exemple concret de programme en C sous Linux d'un upload


Biz...!
0
yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006
2 févr. 2005 à 16:07
Voila un exemple

//---------------------------------------------------------------------------
// Fonction pour télécharger des fichiers sur un FTP
// Cette fonction permet de uploader une liste de fichiers sur un FTP
// une fois uploadé le fichier source en local est supprimé
// Accepte autant de fichiers que necessaire en argument
void fUL_FTP( unsigned short f_Nb_Arg , // Nombre de fichier à télécharger
char f_Arg_Server [ 256 ] , // DNS ou IP du serveur ou récupérer les fichiers
char f_Arg_User [ 256 ] , // Nom d'utilisateur pour le FTP
char f_Arg_Pass [ 256 ] , // Mot de passe
char f_Arg_Source [ 256 ] , // Répertoire ou les fichiers sont stockés en local
char f_Arg_Destination [ 256 ] , // Répertoire ou copier les fichiers sur le FTP
... ) // Listes des fichiers à récuperer
{
// Initialisation des macros pour la gestion du nombre variable de fichier
va_list f_Arg_Fichier ; // Définition du pointeur
va_start ( f_Arg_Fichier , f_Arg_Destination ) ; // Initialisation du pointeur sur le premier des arguments


// Déclaration des variables locales
unsigned short f_i ;
char f_Fichier [ 256 ] , f_Source [ 256 ] , f_Destination [ 256 ] , f_Msg_Log [ 1024 ];


// Les handles
HINTERNET f_hInternetConnexion ; // Handle de la connexion internet
HINTERNET f_hFTPSession ; // Handle de la session FTP


// Ouverture de la connexion internet
f_hInternetConnexion = InternetOpen ( "Seb" , INTERNET_OPEN_TYPE_DIRECT , NULL , NULL , 0 ) ;
// Test si l'operation a reussie et log si l'opération échoue
if ( f_hInternetConnexion == NULL )
{ if ( f_Log_Dl_HTTP == 0 )
{
fError_Msg ( GetLastError (), "fUL_FTP : erreur lors de l'initialisation de la connexion internet\n\n\n" ) ;
}
InternetCloseHandle ( f_hInternetConnexion ) ;
return ;
}


// Ouverture de la session FTP
f_hFTPSession = InternetConnect ( f_hInternetConnexion ,
f_Arg_Server , // Nom du serveur FTP
INTERNET_DEFAULT_FTP_PORT , // Port à utiliser
f_Arg_User , // Nom d'utilisateur
f_Arg_Pass , // Mot de passe
INTERNET_SERVICE_FTP ,
NULL ,
NULL ) ;
// Test si la conenxion au server a rèussie et log si l'opération échoue
if ( ! f_hFTPSession )
{ // Appel de la fonction pour loguer l'erreur ds le fichier log.log
sprintf ( f_Msg_Log , "fUP_FTP : erreur lors de la connexion au server FTP %s\n\n\n" , f_Arg_Server ) ;
fError_Msg ( GetLastError (), f_Msg_Log ) ;
InternetCloseHandle ( f_hFTPSession ) ;
InternetCloseHandle ( f_hInternetConnexion ) ;
return ;
}


// Téléchargement des fichiers
for ( f_i = 1 ; f_i <= f_Nb_Arg ; f_i ++ )
{
strcpy ( f_Source , f_Arg_Source ) ; strcpy ( f_Destination , f_Arg_Destination ) ; strcpy ( f_Fichier , va_arg ( f_Arg_Fichier, char * ) ) ;
strcat ( f_Source , f_Fichier ) ; strcat ( f_Destination , f_Fichier ) ;


// Supression des fichiers avant écriture
// Test si l'operation a reussie et log si l'opération échoue
if ( ! FtpDeleteFile( f_hFTPSession , f_Destination ) )
{
if ( f_Log_Dl_HTTP == 0 )
{
// Appel de la fonction pour loguer l'erreur ds le fichier log.log
sprintf ( f_Msg_Log , "fUP_FTP : Echec de supression du fichier %s de %s vers %s%s" , f_Fichier , f_Source , f_Arg_Server , f_Destination ) ;
fError_Msg ( GetLastError (), f_Msg_Log) ;
InternetCloseHandle ( f_hFTPSession ) ;
InternetCloseHandle ( f_hInternetConnexion ) ;
return ;
}
}


// Ecriture des fichiers sur le FTP
// Test si l'operation a reussie et log si l'opération échoue
if ( ! FtpPutFile( f_hFTPSession , f_Source , f_Destination , FTP_TRANSFER_TYPE_BINARY , NULL ) )
{
if ( f_Log_Dl_HTTP == 0 )
{
sprintf (f_Msg_Log , "fUP_FTP : Echec d'ecriture du fichier %s de %s vers %s" , f_Fichier , f_Source , f_Destination );
fError_Msg ( GetLastError (), f_Msg_Log) ;
}
}
else
{
DeleteFile ( f_Source ) ;
}
}


// Fermeture des connexions
InternetCloseHandle ( f_hFTPSession ) ;
InternetCloseHandle ( f_hInternetConnexion ) ;


} ;
//---------------------------------------------------------------------------

tout le code est present ici : http://www.cppfrance.com/code.aspx?ID=25769

Bon courrage.
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
2 févr. 2005 à 18:22
Oulalalala pas la peine d'aller aussi loin lol !!!

Si c'est sur un réseau local, et que tu possèdes des droits d'écriture, tu n'as rien de plus a faire qu'à utiliser les fonctions de copie de fichier de la SDL.

Sinon si c'est sur un serveur distant (web par exemple), sur unix sert toi des sockets.
Sans oublier qu'il doit deja existé des classes gérant ca sous Linux.

Shell
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
2 févr. 2005 à 20:00
Surtout que Trinity_vv demande un code sous Linux alors que ton code yserver c'est du Win32 ...

Kaid - kaid.fr.st
0
Trinity_vv Messages postés 26 Date d'inscription jeudi 6 janvier 2005 Statut Membre Dernière intervention 22 novembre 2005
3 févr. 2005 à 11:11
Merci beaucoup DeAtHCrAsH ,

toi qui à l'air de t'y connaître t'aurais pas un exemple concret sous la main (si ça ne te déranges pas trop).

Encore merci.


Biz...!
0
yserver Messages postés 203 Date d'inscription lundi 2 août 2004 Statut Membre Dernière intervention 8 septembre 2006
3 févr. 2005 à 11:41
Oups oui pardon.
Je suis resté sur ma première idée sans faire attention qu'il s'agissait de linux.
Dsl.

Bon courrage.
0
Rejoignez-nous