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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Récupération du user name


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Points : 56
    Points
    56
    Par défaut Récupération du user name
    bonjour,

    J'ai un petit souci avec le nom de l'utilisateur.

    En fait, j'utilise un script pour permettre à des utilisateurs de télécharger des fichiers. Je veux que chaque utilisateur puisse le telecharger sur sa propre machine (dans le repertoire Mes Documents par exemple).

    Je recupere le nom du user avec shell_exec mais ca ne marche que si je l'execute moi sur le serveur. Lorsqu'ils cliquent, il leur indique mon repertoire perso. je sais pas ou ca coince.

    Quelqu'un peut m'aider ?

    Merci d'avance.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par arezki76
    En fait, j'utilise un script pour permettre à des utilisateurs de télécharger des fichiers. Je veux que chaque utilisateur puisse le telecharger sur sa propre machine (dans le repertoire Mes Documents par exemple).
    C'est le client qui choisit, vous ne pourrez pas lui forcer la main.

    Citation Envoyé par arezki76
    Je recupere le nom du user avec shell_exec mais ca ne marche que si je l'execute moi sur le serveur. Lorsqu'ils cliquent, il leur indique mon repertoire perso. je sais pas ou ca coince.
    A quel "nom" faites-vous allusion ? PHP est interprété côté serveur : vous n'aurez aucune information autres que celles du serveur ou que celles que le client aura bien voulu vous transmettre (tout ça se retrouve dans le tableau $_SERVER). La manière dont interagit PHP par rapport au serveur (module vs CGI) ou dont ces deux éléments sont configurés jouent aussi.

  3. #3
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Points : 56
    Points
    56
    Par défaut Récupération du user name
    Bonjour,

    merci pour la réponse.

    Donc, comment faire pour permettre aux users de télécharger le fichier sur leur machine.

    Ce fichier est récupéré d'un serveur UNIX, pour être télécharger sur leur machine.

    Merci d'avance.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Le plus simplement du monde sous la forme d'un lien : le document sera géré par le navigateur en fonction de son type (MIME) ou vous pouvez également forcer le téléchargement du document.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Points : 56
    Points
    56
    Par défaut Récupération du user name
    Bonjour ,

    Je crois qu'il vaut mieux que je donne la portion de code pour que vous puissiez me comprendre :

    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
    <?php
     echo '<html>'; 
     echo '<head>'; 
     echo '</head><body>'; 
     echo '<center>';
     echo '<table border="1" width="50%" bgcolor="#808080">';
      echo '<tr>';
       echo '<td>';
           echo '<p><h1 align="center">Download The File :</h1></p>';
       echo '</td>';
      echo '</tr>';
      echo '<tr>';
       echo '<td >';
           echo '<form method=POST action="file_transfer.php">'; 
           echo '<p align="center"><input type="submit" name="download" value=" Téléchargez le Fichier !!!"></p>'; 
           echo '<input type="hidden" name="down" value="yes">';
           echo '</form>';
       echo '</td>';
      echo '</tr>';
     echo '</table>';
     echo '</center>';
     
    if (isset($_REQUEST['down']))
    {
     if ($_REQUEST['down']=='yes')
     { 
     
      include "ftp_connect.php"; // paramètres de connexion au serveur UNIX
     
      // Récuperer le user qui veut télécharger le fichier
      $user = shell_exec("echo %username%");
     
     
      $remote_localisation ="/chemin absolu/";
      //$remote_file = $remote_localisation.$remote_file;
      $remote_file = $remote_localisation.'file.txt';
     
      // Chemin ou sera enregistrer les fichier téléchargé
      $local_destination="C:/Documents and Settings/".ltrim(rtrim($user))."/Mes documents/";
      $local_file = $local_destination.'file.txt';
     
      // Ouverture du fichier pour écriture
      $handle = fopen($local_file, 'w');
     
      // Mise en place d'une connexion basique
      $conn_id = ftp_connect($ftp_server);
     
      // Identification avec un nom d'utilisateur et un mot de passe
      $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
     
      // Tente de téléchargement le fichier $remote_file et de le sauvegarder dans $handle
      if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII)) 
      {
       echo "<p align=center><strong>Bravo $user, le fichier est téléchargé dans ton répertoire 'Mes Documents'.\n</strong></p>";
      } 
      else 
      {
       echo "<p align=center><strong>Il y a un problème lors du téléchargement du fichier $remote_file dans $local_file. 
                                     Réessayez encore.\n</strong></p>";
      }
     
      // Fermeture de la connexion et du pointeur de fichier
      ftp_close($conn_id);
      fclose($handle);
     }
    }
    ?>
    J'aimerai que le $user soit celui de l'utilisateur qui utilise l'interface.

    Merci d'avance.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Ici vous exécutez la commande sur le serveur donc vous récupérez l'utilisateur sous lequel tourne votre serveur. Pour avoir le "nom" du client il faut qu'il vous le transmette par un moyen ou un autre : une authentification (session, authentification HTTP basique, ...) et/ou via une variable de $_SERVER (c'est le cas pour une authentification HTTP sous certaines conditions).

  7. #7
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Points : 56
    Points
    56
    Par défaut Récupération du user name
    Comment faire alors ? dois-je utiliser la variable $_SERVER ? et comment ?

    merci.

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    A la lecture de votre code j'ai plutôt l'impression que vous êtes dans le cas particulier où le serveur et le client sont sur la même machine (local). Est-ce bien le cas ?

  9. #9
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Points : 56
    Points
    56
    Par défaut Récupération du user name
    Effectivement,

    Comment faire avec les clients pour leur permettre d'enregistrer le fichier telecharger dans leur machine ?

    Merci infiniment.

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par arezki76
    Comment faire avec les clients pour leur permettre d'enregistrer le fichier telecharger dans leur machine ?
    J'ai déjà répondu à cette question :
    Citation Envoyé par julp Voir le message
    Le plus simplement du monde sous la forme d'un lien : le document sera géré par le navigateur en fonction de son type (MIME) ou vous pouvez également forcer le téléchargement du document.
    Pour l'authentification du client, c'est à vous de nous dire s'il y en a une et comment celle-ci est faite (vous pouvez toujours faire un affichage de $_SERVER et éventuellement $_ENV à l'aide de la fonction print_r pour voir ce qu'elles contiennent).

  11. #11
    Membre du Club
    Inscrit en
    Mai 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 148
    Points : 56
    Points
    56
    Par défaut Récupération du user name
    Bonjour,

    Comment ajouter le lien dans mon code et faire correspondre le fichier ?

    Une idée ?

    Merci d'avance.

Discussions similaires

  1. Récupération du user oracle
    Par ZzTop dans le forum Oracle
    Réponses: 3
    Dernier message: 25/09/2006, 08h59
  2. user name et password oracle10G
    Par zsafae dans le forum Oracle
    Réponses: 1
    Dernier message: 29/04/2006, 13h34
  3. [DBExpress] invalid user name/password sous XP
    Par Rudy 34 dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/02/2005, 15h25
  4. Connexion sur une base via BDE (pb de User Name)
    Par Sharky21 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/12/2004, 10h31
  5. eliminisation du masque user name/ passeword du oracle
    Par kkhaled dans le forum Bases de données
    Réponses: 3
    Dernier message: 05/07/2004, 17h23

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