IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

ecrire dans fichier déjà present sur server ftp


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Téléconseiller
    Inscrit en
    Juin 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Téléconseiller
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut ecrire dans fichier déjà present sur server ftp
    Bonjour,
    me re-voilà avec un petit souci :
    j'ai créer à l'aide de ce forum une application permettant un partage de fichier via FTP.
    que ce soit upload ou download tout fonctionne à merveille (tester sur xp & vista).
    Cependant , pour des mesures de sécurité pour moi j'ai intégrer un code me permettant de voir qui utilise et quand cette application est utilisé. (cela évite qu'on face tourner mon application et que je soit obliger de chercher via les ips dans mon Server ftp).
    Mon problème étant que pour chaque utilisateur un fichier login se créera et sera automatiquement envoyer sur mon Server voici le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    Private Sub FrmPrincipal_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim FSys
            FSys = CreateObject("Scripting.FileSystemObject")
            Dim Comand
            Comand = FSys.CreateTextFile("C:\ftp\script\ftp.txt") 'fichier créer
            With Comand 'ecris les commandes
                Comand.writeLine("open @ftp")
                Comand.writeLine("id")
                Comand.writeLine("mdp")
                Comand.writeLine("put C:\ftp\script\login.txt")
                Comand.writeLine("quit")
            End With
            Comand.Close()
            '***********************
            'declaration
            Dim shell, Info, Computer, Nam, Dat, Tim, Fin, Ftp
            shell = CreateObject("WScript.Shell")
            'ecriture
            Info = "cmd /c echo **************************>>c:\ftp\script\login.txt"
            Computer = "cmd /c echo pc: %computername%>>c:\ftp\script\login.txt"
            Nam = "cmd /c echo user: %username%>>c:\ftp\script\login.txt"
            Dat = "cmd /c echo date: %date%>>c:\ftp\script\login.txt"
            Tim = "cmd /c echo heure: %time%>>c:\ftp\script\login.txt"
            Fin = "cmd /c echo **************************>>c:\ftp\script\login.txt"
            Ftp = "cmd /c ftp -s:c:\ftp\script\ftp.txt"
            'lancement
            shell.Run(Info, 0, True)
            shell.Run(Computer, 0, True)
            shell.Run(Nam, 0, True)
            shell.Run(Dat, 0, True)
            shell.Run(Tim, 0, True)
            shell.Run(Fin, 0, True)
            shell.Run(Ftp, 0, True)
            Dim Result
            Result = shell.Run(Ftp, 0, True)
    		'supression
            If System.IO.File.Exists("c:\ftp\script\login.txt") Then
                File.Delete("c:\ftp\script\login.txt")
            End If
            If System.IO.File.Exists("c:\ftp\script\ftp.txt") Then
                File.Delete("c:\ftp\script\ftp.txt")
            End If
            '******************************************************************
            'fin rapport
        End Sub

  2. #2
    Membre régulier
    Homme Profil pro
    Téléconseiller
    Inscrit en
    Juin 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Téléconseiller
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut
    re-bonsoir,
    bon j'ai pas résolu mais déjà eu information importante :
    http://www.developpez.net/forums/d72...t-serveur-ftp/
    salut,

    Le fait est qu'un fichier est "gravé dans le marbre"...

    Tu n'a donc pas d'autre solution: si tu veux modifier un fichier (quel que soit l'endroit où il se trouve), et qu'il ne s'agit pas de "simplement" rajouter des informations à la fin, il faut "briser le moule"...

    De plus, le protocole ftp est ainsi fait qu'il n'y a pas moyen ni de "rajouter" du contenu à un fichier, ni même de le manipuler "in situ"...

    Tu n'as donc pas d'autre choix, il faut effectivement le faire en trois étape:
    récupération du fichier
    réécriture / modification du fichier en local
    upload du fichier vers le serveur
    la solution apporter ne me conviendrai pas dans le sens ou le fichier uploader aura toujours le même nom que celui qui se trouve sur le Server.
    j'ai pensée à la solution de nommé le fichier à uploader en %date% ou %time% mais cela comporte des caractères interdit pour nommé un fichier.
    le nommé en %username% reviendrai à avoir toujours le même nom du fichier à uploader à celui se trouvant sur le server !!
    je cogite, cogite mais en vain pour l'instant quelqu'un aurai-t-il une idées à mon problème ?
    PS: erreur de ma part j'ai poster ce problème sur deux post différent portant pas le même nom // j'ai envoyer un message au modérateur stipulant mon erreur et mes excuse et es effectuer un délestage

  3. #3
    Membre régulier
    Homme Profil pro
    Téléconseiller
    Inscrit en
    Juin 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Téléconseiller
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2010
    Messages : 119
    Points : 77
    Points
    77
    Par défaut
    Bonsoir,
    bon bah voilà tout y est, le débutant dans tout sa splendeur !!!!
    en faite mon erreur n'était pas forcément dans le code mais surtout au niveau du temps laisser au commande voilà le résultat donner :
    j'ai séparer mon besoin en deux parti
    1/ dans ma forme login
    2/dans la form principal (que j'ai reproduit également dans la form restreinte et même admin on sais jamais )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Option Explicit On
    Option Strict Off
    Imports System.IO
    Public Class FrmLogin
     
        Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            MsgBox("Bonjour, vous allez être invité à saisir vos identifiants. Les utilisateurs n'ayant pas eu d'identifiant devront saisir dans MDP : <anonyme>. Mais n'auront pas accès à l'intégralité du logiciel , vous pouvez toujours me faire parvenir une demande à l'adresse suivante : <@> ", vbInformation, "Z!T¤ùn€ @NT!C!P-W!N-32")
            Dim FSys
            FSys = CreateObject("Scripting.FileSystemObject")
            Dim shell, envoi
            shell = CreateObject("WScript.Shell")
            '*****************************************************************************
            '*****************************************************************************
            Dim Comande
            Comande = FSys.CreateTextFile("C:\ftp\script\envoi.txt") 
            With Comande 
                Comande.writeLine("open @ftp")
                Comande.writeLine("id")
                Comande.writeLine("mdp")
                Comande.writeLine("lcd c:\ftp\script")
                Comande.writeLine("get login.txt")
                Comande.writeLine("quit")
            End With
            Comande.Close()
            '*****************************************************************************
            '*****************************************************************************
            envoi = "cmd /c ftp -s:c:\ftp\script\envoi.txt"
            shell.Run(envoi, 0, True)
            Dim Recup
            Recup = shell.Run(envoi, 0, True)
        End Sub
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    Option Explicit On
    Option Strict Off
    Imports System.IO
     
    Public Class FrmPrincipal
     
        Private Sub FrmPrincipal_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Me.MonWeb.Navigate("http://@site")
            '*****************************************************************************
            '*****************************************************************************
            'envoie rapports des connexion 
            Dim FSys
            FSys = CreateObject("Scripting.FileSystemObject")
            Dim shell, Info, Computer, Nam, Dat, Tim, Fin, Ftp
            shell = CreateObject("WScript.Shell")
            '*****************************************************************************
            '*****************************************************************************
            Info = "cmd /c echo **************************>>c:\ftp\script\login.txt"
            Computer = "cmd /c echo pc: %computername%>>c:\ftp\script\login.txt"
            Nam = "cmd /c echo user: %username%>>c:\ftp\script\login.txt"
            Dat = "cmd /c echo date: %date%>>c:\ftp\script\login.txt"
            Tim = "cmd /c echo heure: %time%>>c:\ftp\script\login.txt"
            Fin = "cmd /c echo **************************>>c:\ftp\script\login.txt"
            '*****************************************************************************
            shell.Run(Info, 0, True)
            shell.Run(Computer, 0, True)
            shell.Run(Nam, 0, True)
            shell.Run(Dat, 0, True)
            shell.Run(Tim, 0, True)
            shell.Run(Fin, 0, True)
            '*****************************************************************************
            '*****************************************************************************
            Dim Comand
            Comand = FSys.CreateTextFile("C:\ftp\script\ftp.txt") 
            With Comand 
                Comand.writeLine("open @ftp")
                Comand.writeLine("id")
                Comand.writeLine("mdp")
                Comand.writeLine("put C:\ftp\script\login.txt") 
                Comand.writeLine("quit")
            End With
            Comand.Close()
            '*****************************************************************************
            Ftp = "cmd /c ftp -s:c:\ftp\script\ftp.txt"
            shell.Run(Ftp, 0, True)
            Dim uplo
            uplo = shell.Run(Ftp, 0, True)
            '*****************************************************************************
            '*****************************************************************************
            MsgBox("Pensé à vérifier les mise à jour")
            '*****************************************************************************
            If System.IO.File.Exists("c:\ftp\script\envoi.txt") Then 
                File.Delete("c:\ftp\script\envoi.txt")
            End If
            If System.IO.File.Exists("c:\ftp\script\login.txt") Then 
                File.Delete("c:\ftp\script\login.txt") 
            End If
            If System.IO.File.Exists("c:\ftp\script\ftp.txt") Then
                File.Delete("c:\ftp\script\ftp.txt")
            End If
            '******************************************************************
            'fin rapport
        End Sub
    je ne sais pas pourquoi personne à répondu à mon post, peu-être effectivement la réponse été dans ma question
    en tout cas si il s'agi des donné pris sur les utilisateurs, il sont prévenue de ce fait
    en tout les cas c'est résolu même si je pense qu'il y avait également d'autre solution

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ecrire dans fichier FTP
    Par zimonn10 dans le forum Développement
    Réponses: 1
    Dernier message: 28/04/2009, 10h46
  2. Ecrire dans fichier
    Par tit_oune dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 10/04/2006, 14h10
  3. [C#] Comment lire/ecrire dans fichier ini ?
    Par meli0207 dans le forum C#
    Réponses: 2
    Dernier message: 20/03/2006, 16h53
  4. ecrire dans fichier côté serveur
    Par danyboy85 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/03/2006, 16h47
  5. [Débutant][JFileChooser] Ecrire dans fichier
    Par Clark dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 16/05/2005, 17h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo