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

Langage PHP Discussion :

Upload de fichier


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 19
    Points
    19
    Par défaut Upload de fichier
    Bonjour à tous,

    Voila j'ai telechargé un script permetant aux visiteurs d'uploader leurs partitions de musique sur le serveur de mon hebergeur.

    Le script marche tres bien, le probleme c'est que lorque q'un fichier est uploader,il prend un nom (toujours le même) et perd son extension.

    Voici le script :
    Index.php3
    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
     
     
    <html>
    <head>
    <title>Upload script</title>
    </head>
    <body>
     
    <form method="post" action="upload.php3" ENCTYPE="multipart/form-data">
    <input type="file" name="file_name" enctype="multipart/form-data"><br>
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
    <input type="submit" value="Envoyer">
    </form>
     
    </body>
    </html>
    Upload.php3
    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
     
     
     
    <?
    if ($file_name == "none")
    	{
    	print "Spécifier un fichier à envoyer.";
    	}
     
    else
    	{	
    	/* indiquer $dest_file qui correspond au répertoire de destination */
    	$dest_file="files/name_of_file";
     
    	/* enlève un "\"  */
    	$source_file=stripslashes($file_name);
     
    	/* copie du fichier */
    	$res_copy=copy($source_file , $dest_file);
     
    	print "Fichier envoyé.";
    	}
    ?>

    Max'

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton script comme son nom l'indique n'est pas frais.

    Regarde plutot par ici
    http://php.developpez.com/faq/?page=...ichiers_upload
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    J'ai encore un probleme avec ce nouveau script :

    1 ) Comment modifier le dossier de destination sur le forum ?
    2) Comment faire pour que le fichier uploadé garde le même nom



    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
    <?php
     
    define('CFG_FTP_SERVER', 'sigma.power-heberg.net');    // Adresse du FTP
    define('CFG_FTP_USERNAME', 'partitions');    // Nom d'utilisateur
    define('CFG_FTP_PASSWORD', 'potiron');    // Mot de passe
    define('CFG_FTP_TIMEOUT', 2);        // Définition du délai de connexion en secondes
     
    if(!empty($_FILES['fichier']) && $_FILES['fichier']['error'] == UPLOAD_ERR_OK && is_uploaded_file($_FILES['fichier']['tmp_name']))
    {
      $fichier_a_uploader = $_FILES['fichier']['tmp_name'];
      $dossier_destination = '/' . $_FILES['fichier']['name'];
     
      $conn_id = ftp_connect(CFG_FTP_SERVER);    // Création de la connexion au FTP
     
      if(empty($conn_id))
      {
        echo 'Échec de connexion à ' . CFG_FTP_SERVER;
      }
      else
      {
        // Définition du délai de connexion à 2 secondes
        ftp_set_option($conn_id, FTP_TIMEOUT_SEC, CFG_FTP_TIMEOUT);
     
        echo "Connecté au FTP\n<br>";
     
        // Identification avec le nom d'utilisateur et le mot de passe
        $login_result = ftp_login($conn_id, CFG_FTP_USERNAME, CFG_FTP_PASSWORD);
     
        if(!$login_result)
        {
          echo "Échec d'identification à " . CFG_FTP_SERVER;
        }
        else
        {
          // Tentative de chargement sur le serveur FTP
          if(ftp_put($conn_id, $dossier_destination, $fichier_a_uploader, FTP_BINARY))
          {
            echo "Le fichier $fichier_a_uploader a été chargé avec succès\n";
          }
          else
          {
            echo "Il y a eu un problème lors du chargement du fichier $fichier_a_uploader\n";
          }
        }
        // Fermeture de la connexion
        ftp_close($conn_id);
      }
    }
    ?>

    Merci pour toutes ces reponses rapides.


    Max'

  4. #4
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    Bonjour,

    1. Modifier le chemin de destination :
    Tu ajoutes une constante au début du script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    define('CFG_CHEMIN_UPLOAD', '/home/www/upload/');    // dossier d'upload
    et tu modifies la ligne qui détermine le dossier de dsestination :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $dossier_destination = CFG_CHEMIN_UPLOAD . $_FILES['fichier']['name'];
    2. Conserver le nom du fichier.
    Es-tu sur qu'il ne le conserve pas ? Pourtant le code semble bon.
    $_FILES['fichier']['name'] représente le nom du fichier uploadé.
    Quel non de fichier est donné ?

    Gillou

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