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

Web Perl Discussion :

Upload de fichier


Sujet :

Web Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Par défaut Upload de fichier
    Bonjour a tous!

    Je suis en train d'essayer d'enregistrer un fichier sur un serveur distant.
    Pour le moment, j'arrive a afficher ce que contient un fichier lorsque c'est un .txt.

    Voila le code :
    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
    65
    66
    67
    68
    69
    70
    #!/usr/local/bin/perl -w 
     
    use strict; 
    use CGI; 
    use DBI; 
    use FORM; 
    no warnings 'uninitialized'; 
     
     
    my $q = new CGI; 
    my $login = $q->param("login"); 
    my $pass = $q->param("pass"); 
    my $schema = GREGOR_Serre->getSchema(); 
    my $submit = $q->param("btn_submit");
     
    print $q->header(); 
    print FORM->getHeader("Worksheet"); 
     
    if ( $login , $pass) 
    {
      print "\n<body><center>\n"; 
     
      print "Content-type: text/html\n\n";
     
      print FORM->getHeader("Stock"), "\n<body>";
      print "<center>\n";
     
      print $q->p($q->h1("Stock")),$q->br();
     
      #Liste des variables recuperees
      my @lst_params = $q->param; 
      foreach my $param (@lst_params) 
      { 
        my $val = $q->param($param); 
        print "$param : $val<br>"; 
      } 
     
      print "<form name='stock' action='test.cgi' method='post' enctype='multipart/form-data'>";
     
      # vérif du login/pass
      if ( $login ne ''  && $pass ne '')
      {
        print $q->hidden(-name=>"login", -value=>$login); 
        print $q->hidden(-name=>"pass", -value=>$pass);
     
       $submit = $q->param('submit');
     
        if ($submit ne  "Validate")
        {
        print "&nbsp;Scan: &nbsp;&nbsp;
        print $q->filefield(-name=>'photo',-size=>40,-maxlength=>80);
        print "<br>";
        print $q->submit(-name=>"submit", -value=>'Validate');
     
        print "</form>";
        }
        else
        {
          no strict;
     
          my $fh = $q->upload('photo');
          while (<$fh>)
          {
    	chomp;
    	print;
          }
     
          print "</html>";
        }
      }
    j'ai suivi ce qu'il y avait la : http://perl.enstimac.fr/ModulesFr/CGI.html#création%20d'un%20champ%20de%20téléchargement%20de%20fichier%20(file%20upload)

    Mais apres, je ne sais pas comment faire...
    Je veux pouvoir copier des images, donc du gif ou du jpg par exemple.

    Est ce que quelqu un peut m'aider?

    Merci a vous!
    Linou

  2. #2
    Jeh
    Jeh est déconnecté
    Membre expérimenté Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Par défaut
    Salut !
    Voici un exemple :
    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
    sub Upload  {
    	my($query, $upload_dir) = @_;
        my($file_query, $file_name, $size, $buff, $time, $bytes_count);
    	$size = $bytes_count =0;
    	$_ = $file_query = $query->param('file');
    	s/\w://;
    	s/([^\/\\]+)$//;
    	$_ = $1;
    	s/\.\.+//g;
    	s/\s+//g;
    	$file_name = $_;
     
    	if (! $file_name) {
    		$_ = $NAME_TITLE{'EU_BadFN'};
    		s/Value_FileName/$file_name/ig;
    		&Error($_, 1);
    	}
     
    	if (-e "$upload_dir/$file_name") {
    		$_ = $NAME_TITLE{'EU_FExist'};
    		s/Value_FileName/$file_name/ig;
    		&Error($_, 1);
    	}
     
        open(FILE,">$upload_dir/$file_name") || &Error("Error opening file $file_name for writing, error $!", 1);
        binmode FILE;
        $time=time();
        while ($bytes_count = read($file_query,$buff,2096)) {
        	$size += $bytes_count;
            print FILE $buff;
        }
        close(FILE);
     
        if ((stat "$upload_dir/$file_name")[7] <= 0) {
    	   	unlink("$upload_dir/$file_name");
        	$_ = $NAME_TITLE{'EU_Size'};
    		s/Value_FileName/$file_name/ig;
            &Error($_, 1);
        } else {
        	$time = time -$time;
        	$_ = $NAME_TITLE{'Upload_Succes_txt'};
    		s/Value_FileName/$file_name/ig;
    		s/Value_Size/$size/ig;
    		s/Value_Time/$time/ig;
            &ResutPage($NAME_TITLE{'Upload_Succes'}, $_);
         }
    }
    je l'ai trouvé sur un autre site.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Par défaut
    oui, j'ai deja vu ce script, mais je n'arrive pas a le mettre en application... Voila pourquoi je demande de l'aide

  4. #4
    Jeh
    Jeh est déconnecté
    Membre expérimenté Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Par défaut
    bah en fait, c'est pas compliqué. Tu récupère un descripteur de ton fichier uploadé que tu utilises pour créer un nouveau fichier sur ton serveur.
    Le même code commenté :


    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
    sub Upload  {
    	my($query, $upload_dir) = @_;
        my($file_query, $file_name, $size, $buff, $time, $bytes_count);
    	$size = $bytes_count =0;
     
    	# RECUPERATION DU DESCRIPTEUR DU FICHIER UPLOADE
    	$_ = $file_query = $query->param('file');
    	# RÉCUPÉRATION DU NOM DU FICHIER
    	s/\w://;
    	s/([^\/\\]+)$//;
    	$_ = $1;
    	s/\.\.+//g;
    	s/\s+//g;
    	$file_name = $_;
     
    	if (! $file_name) {
    		$_ = $NAME_TITLE{'EU_BadFN'};
    		s/Value_FileName/$file_name/ig;
    		&Error($_, 1);
    	}
        # TEST DE L'EXISTANCE DU FICHIER SUR LE SERVEUR
    	if (-e "$upload_dir/$file_name") {
    		$_ = $NAME_TITLE{'EU_FExist'};
    		s/Value_FileName/$file_name/ig;
    		&Error($_, 1);
    	}
     
        # OUVERTURE DU NOUVEAU FICHIER SUR LE SERVEUR
        open(FILE,">$upload_dir/$file_name") || &Error("Error opening file $file_name for writing, error $!", 1);
        binmode FILE;
        $time=time();
        # LECTURE DU DESCRIPTEUR ET ÉCRITURE DANS LE NOUVEAU FICHIER SUR LE SERVEUR
        while ($bytes_count = read($file_query,$buff,2096)) {
        	$size += $bytes_count;
            print FILE $buff;
        }
        close(FILE);
        # ON VÉRIFIE SI LA COPIE EST CORRECTE
        if ((stat "$upload_dir/$file_name")[7] <= 0) {
    	   	unlink("$upload_dir/$file_name");
        	$_ = $NAME_TITLE{'EU_Size'};
    		s/Value_FileName/$file_name/ig;
            &Error($_, 1);
        } else {
        	$time = time -$time;
        	$_ = $NAME_TITLE{'Upload_Succes_txt'};
    		s/Value_FileName/$file_name/ig;
    		s/Value_Size/$size/ig;
    		s/Value_Time/$time/ig;
            &ResutPage($NAME_TITLE{'Upload_Succes'}, $_);
         }
    }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Par défaut
    Merci pour les explications, j'y vois deja plus clair.

    Par contre, je n'arrive pas bien a saisir quels sont les parametres que je dois mettre lorsque j'appelle ma fonction...

    Dans mon formulaire, le champ dans lequel j'entre le chemin du fichier est photo_pheno2.

    comment faut-il que j'appelle la fonction? Est ce que ca cest correct ou bien faut il ajouter autre chose?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dir = "http://serveur.intranet-entreprise.com/project/";
    upload($photo, $dir);
    Merci pour le coup de main
    Linou

  6. #6
    Jeh
    Jeh est déconnecté
    Membre expérimenté Avatar de Jeh
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 203
    Par défaut
    Dans l'exemple, le "$query" correspond à ton objet CGI, la table hash qui contient tous les champs de ton formulaire entre autres.
    D'après ton code, cette variable correspond à ta variable "$q".

    Bon courage.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Par défaut
    Bonjour,

    Je viens de reprendre le script, et j'arrive enfin à uploader mes fichiers sur le serveur.

    Par contre, maintenant, j'aimerais bien comprendre ce que fait exactement ce script...

    1er probleme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $_ = $file_query = $q->param('photo_pheno'); 
    # RÉCUPÉRATION DU NOM DU FICHIER 
       s/\w://; 
       s/([^\/\\]+)$//; 
       $_ = $1; 
       s/\.\.+//g; 
       s/\s+//g; 
       $file_name = $_;
    Comment toutes le traitement qui est fait sur le nom du fichier peut etre conservé alors qu'on fait juste les substitutions sans les attribuer à une variables pour les conserver, du genre :
    Le 2eme probleme, c'est pour cette partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # ON VÉRIFIE SI LA COPIE EST CORRECTE 
        if ((stat "$upload_dir/$file_name")[7] <= 0) { 
             unlink("$upload_dir/$file_name"); 
           $_ = $NAME_TITLE{'EU_Size'}; 
          s/Value_FileName/$file_name/ig; 
            &Error($_, 1); 
        } else { 
           $time = time -$time; 
           $_ = $NAME_TITLE{'Upload_Succes_txt'}; 
          s/Value_FileName/$file_name/ig; 
          s/Value_Size/$size/ig; 
          s/Value_Time/$time/ig; 
            &ResutPage($NAME_TITLE{'Upload_Succes'}, $_); 
         }
    Pour ma part, j'ai mis la derniere ligne en commentaire (&ResutPage($NAME_TITLE{'Upload_Succes'}, $_); )

    Est ce qu'on peut m'aider à y voir plus clair?

    Merci a vous tous.

    linou

  8. #8
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    slt !

    1. Les substitutions se font sur la variable courante, donc implicitement sur $_.

    2. Le if sert à vérifier si l'upload s'est bien passé en vérifiant le paramètre du fichier contenant la taille de celui-ci. Le else sert à générer une page web pour indiquer le succès de l'upload, en utilisant un template. Cette dernière partie ne te sert pas à grand chose sous cette forme, tu peux en réécrire le contenu comme tu le sens.
    ----
    J'allais oublier, pour le if, tu as aussi toute une partie que tu peux refaire à ta guise, car écrite à la base pour appeler un template générique renvoyant une erreur. Le unlink permet de supprimer le fichier erroné.


    @+
    Mr6

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Par défaut
    Mr6, merci pour ces explications.

    Bon, maintenant, j'ai essayé de mettre ma fonction dans un package et je rencontre un nouveau probleme...

    Le fichier que je suis censée traiter avec la fonction Upload ne l'ai pas, et ca vient visiblement du passage de parametre...

    Dans mon script, je fait un appel à la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $photo = $q->param('photo');
        print "photo : $photo<br>";#Affichage du chemin complet du fichier d'origine (ex : photo : C:\Documents and Settings\moi\Bureau\carte.ppt).
        FONCTION->Upload ($photo);
    Et voici ma fonction qui se trouve dans le package FONCTION :
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    sub Upload  
    { 
      my($fich) = @_; 
      my($file_query, $file_name, $size, $buff, $time, $bytes_count, $upload_dir); 
      $size = $bytes_count =0; 
     
      # RECUPERATION DU DESCRIPTEUR DU FICHIER UPLOADE 
      print "fichier : $fich<br>"; #Affichage de "FONCTION" au lieu du nom de 'carte.ppt'
      $_ = $file_query = $fich; 
     
      # RÉCUPÉRATION DU NOM DU FICHIER 
      s/\w://; 
      s/([^\/\\]+)$//; 
      $_ = $1; 
      s/\.\.+//g; 
      s/\s+//g; 
      $file_name = $_; 
      print "file_name : $file_name<br>"; #Affichage de "FONCTION" au lieu de 'carte.ppt'
     
      if(($file_name=~ /\.doc/) || ($file_name=~ /\.DOC/)) {
        $upload_dir = "/projects/doc/";
      } elsif (($file_name=~ /\.bmp/) || ($file_name=~ /\.BMP/)) {
        $upload_dir = "/projects/bmp/";
      } $upload_dir = "/projects/gb/";
      } elsif (($file_name=~ /\.gif/) || ($file_name=~ /\.GIF/)) {
        $upload_dir = "/projects/gif/";
      } elsif (($file_name=~ /\.htm/) || ($file_name=~ /\.HTM/) || ($file_name=~ /\.html/) || ($file_name=~ /\.HTML/)) {
        $upload_dir = "/projects/htm/";
      } elsif (($file_name=~ /\.jpg/) || ($file_name=~ /\.JPG/) || ($file_name=~ /\.jpeg/) || ($file_name=~ /\.JPEG/)) {
        $upload_dir = "/projects/jpg/";
      } elsif (($file_name=~ /\.pdf/) || ($file_name=~ /\.PDF/)) {
        $upload_dir = "/projects/pdf/";
      } elsif (($file_name=~ /\.ppt/) || ($file_name=~ /\.PPT/) || ($file_name=~ /\.pps/) || ($file_name=~ /\.PPS/)) {
        $upload_dir = "/projects/ppt/";
      } elsif (($file_name=~ /\.txt/) || ($file_name=~ /\.TXT/)) {
        $upload_dir = "/projects/txt/";
      } elsif (($file_name=~ /\.rtf/) || ($file_name=~ /\.RTF/)) {
        $upload_dir = "/projects/rtf/";
      } elsif (($file_name=~ /\.tif/) || ($file_name=~ /\.TIF/)) {
        $upload_dir = "/projects/tif/";
      }  else {
        $upload_dir = "/projects/divers/";
      }
     
      if (! $file_name)
      { 
        $_ = "Error: Nom de fichier 'Value_FileName' incorrect";
        s/Value_FileName/$file_name/ig; 
        &Error($_, 1); 
      } 
     
      # TEST DE L'EXISTANCE DU FICHIER SUR LE SERVEUR 
      if (-e "$upload_dir/$file_name") 
      { 
        $_ = "Error: Fichier 'Value_FileName' existant, impossible de le modifier!"; 
        s/Value_FileName/$file_name/ig; 
        &Error($_, 1); 
      }
     
      # OUVERTURE DU NOUVEAU FICHIER SUR LE SERVEUR 
      open(FILE,">$upload_dir/$file_name") || &Error("Error opening file $file_name for writing, error $!", 1); 
      binmode FILE; 
      $time=time(); 
      # LECTURE DU DESCRIPTEUR ET ÉCRITURE DANS LE NOUVEAU FICHIER SUR LE SERVEUR 
      while ($bytes_count = read($file_query,$buff,2096)) 
      { 
        $size += $bytes_count; 
        print FILE $buff; 
      } 
      close(FILE); 
      # ON VÉRIFIE SI LA COPIE EST CORRECTE 
      if ((stat "$upload_dir/$file_name")[7] <= 0) 
      { 
        print "<br>$upload_dir"."$file_name<br>";
        unlink("$upload_dir/$file_name"); 
        $_ = "Error: Erreur de chargement de 'Value_FileName'"; # Affichage de "Error: Erreur de chargement de 'FONCTION'"
        s/Value_FileName/$file_name/ig; 
        &Error($_, 1); 
      }
      else
      { 
        $time = time -$time; 
        $_ = "Chargement r&eacute;ussi !";
        s/Value_FileName/$file_name/ig; 
        s/Value_Size/$size/ig; 
        s/Value_Time/$time/ig; 
        #&ResutPage($NAME_TITLE{'Upload_Succes'}, $_); 
      } 
    }
    D'ou peut venir cette erreur?
    Je comprend que le fichier ne soit pas uploader puisque des le début du passage dans Upload, la fonction ne semble plus connaitre le chemin de mon fichier...

    Linou

  10. #10
    Mr6
    Mr6 est déconnecté
    Membre émérite

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 608
    Par défaut
    Quel est le message d'erreur ?

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Par défaut
    Je l'avais mis dans le code, ce n'était peu etre pas tres clair.
    Pas d'erreur dans le fichier log, juste une erreur sur ma page :
    Error: Erreur de chargement de 'FONCTION'
    Elle est renvoyée par la fonction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    sub Error 
    {
      my($errortext, $exit) = @_;
      print $errortext;
      if($exit) 
      {
        exit;
      }
    }

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Par défaut
    Bon, j'y suis enfin arrivée!!!

    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
    sub Upload  
    { 
      my $file = $_[1];
     
      my($file_query, $file_name, $size, $buff, $time, $bytes_count, $upload_dir); 
      $size = $bytes_count =0; 
     
      # RECUPERATION DU DESCRIPTEUR DU FICHIER UPLOADE 
      $_ = $file_query = $file;
     
     
      # RÉCUPÉRATION DU NOM DU FICHIER 
      s/\w://; 
      s/([^\/\\]+)$//; 
      $_ = $1; 
      s/\.\.+//g; 
      s/\s+//g; 
      $file_name = $_;
    J'ai juste changé la 1ere ligne de la fonction. Je vois pas trop ce que ca change, je me suis inspirée d'une autre fonction.

    Enfin, ca marche!...

  13. #13
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    C'est parce que ta fonction reçoit en fait deux paramètres : un visible "photo" et un caché "FONCTION". Quand tu fait ($file) = @_, $file recoit le premier paramètre de ta fonction, c'est à dire "FONCTION", $_[0], alors qu'il te faut en fait le second paramètre "photo" qui est dans $_[1].

    En fait ta première fonction Upload était mieux, mais il aurait fallu l'appeler avec FONCTION::Upload( photo ), ç'aurait été plus correct !

    --
    Jedaï

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

Discussions similaires

  1. [FTP] Problème pour uploader un fichier
    Par Crazyblinkgirl dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 07/01/2008, 22h21
  2. Upload de fichier par XMLHTTP
    Par Immobilis dans le forum ASP
    Réponses: 6
    Dernier message: 21/01/2005, 17h02
  3. upload de fichier
    Par 120 dans le forum ASP
    Réponses: 16
    Dernier message: 21/06/2004, 12h07
  4. Upload de fichiers sur un ftp
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 20/06/2004, 11h55
  5. Upload de fichiers
    Par GDVL dans le forum ASP
    Réponses: 4
    Dernier message: 03/06/2004, 12h44

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