Chercher un fichier sur un serveur FTP en Lua

HunterD Messages postés 14 Statut Membre -  
HunterD Messages postés 14 Statut Membre -
Bonjour,

J'essaye de trouver un moyen de vérifier les propriétés des fichiers sur un serveur FTP en utilisant des scripts Lua associés à INM (Intellipool Network Monitor) qui est en fait une application de surveillance du bon fonctionnement du matériel réseau.

Mon problème est que lorsque j'utilise une fonction et que j'indique l'emplacement du fichier que souhaite vérifier dans cette fonction il me dit que le fichier n'existe plus alors que si. Je pense que c'est a cause de la syntaxe que j'utilise pour rechercher le fichier mais j'ai essayé toutes les syntaxes et même celles indiquées sur des forums (\\\\nom_dossier\\nom_fichier.extension) mais je n'y arrive vraiment pas.

Voici mon code:

iArgumentCount = GetArgumentCount()
if iArgumentCount < 3 then
SetExitStatus("To few arguments",false)
return
end

ftp = TLuaFTPClient:new();

--Les variables sont fournies préalablement
sUsername = GetArgument(0)
sPassword = GetArgument(1)
iPort = tonumber(GetArgument(2))

--Je me connecte avec succès au serveur FTP
iRet = ftp:Connect(sUsername,sPassword,iPort)

if iRet == 0 then
    -- Failed to connect, print why
    iRet = GetLastError()
    sErrorString = FormatErrorString(iRet)
    sError = "Error when connecting to FTP server, error: "..sErrorString
    SetExitStatus(sError,false);
    ftp:Close()
else
    sFilePath = "Test"
    sFileName = "Test.jpg"
    iSize = ftp:GetFileSize(sFilePath.."/"..sFileName)
    if sSize ~= nil then
        sMessage = "File size:"..iSize
        SetExitStatus(sMessage,true)
    else
        --Failed to find the file
        iSize = GetLastError()
        sErrorString = FormatErrorString(iSize)
        sError = "Error: "..sErrorString
        SetExitStatus(sError,false)
        ftp:Close()
    end
end
ftp:Close()

Voilà vous pouvez donc voir ici que la fonctione que j'utilise est GetFileSize(), que je me trouve dans le serveur FTP à partir de la racine et que j'essaye d'aller jusqu'au fichier Test/Test.jpg .

Je vous remercie d'avance pour vôtre aide et j'attends vos réponses avec impatientes.

Cordialement,
A voir également:

5 réponses

HunterD Messages postés 14 Statut Membre 1
 
Euh désolé je voulais dire "la fonction" évidemment et non pas "la fonctionne".
-1
HunterD Messages postés 14 Statut Membre 1
 
Bon finalement j'ai décidé de laisser tomber le chemin complet en paramètre de la fonction. J'utilise d'abord la fonction ChangeDirectory() pour passer dans le répertoire ou je souhaite aller puis j'utilise la fonction GetFileSize() sur le fichier que je veux utiliser. Je le précise toujours ça pourrait en dépanner quelques uns... ou pas!
-1
HunterD Messages postés 14 Statut Membre 1
 
Arf j'ai un autre problème! Je ne peux pas récupérer la liste des fichiers avec la fonction FindFile() alors que la fonction FindDirectory() fonctionne très bien. Pourtant je pense avoir tout fait comme il le fallait:

sFileList = ftp:FindFile("*.*");

mais ma varibale sFileList reste vide!!!!!!!!

J'aurai vraiment besoin d'aide s'il vous plait! c'est urgent!
-1
HunterD Messages postés 14 Statut Membre 1
 
Bon c'était un bug de l'ancienne version de INM que j'avais. J'ai mis à jour et sa à l'air de fonctionner correctement jusque là.
-1

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

Posez votre question
HunterD Messages postés 14 Statut Membre 1
 
Oups désolé pour les fautes d'orthographe! (si quelqu'un lis ce que j'écris bien évidemment)

Bon j'ai un autre problème... lorsque j'essaye de trouver les fichiers contenu dans un dossier avec la fonction FindFile() ça ne fonctionne que sur le serveur FTP interne mais pas sur le serveur externe et je ne sais pas sous quel OS tourne ce dernier.
Quelqu'un aurait une solution à me proposer?
-1