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 :

uploader un fichier en php [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Points : 43
    Points
    43
    Par défaut uploader un fichier en php
    bonjour j'utilise un formulaire qui me permet de saisir des informations pour les insérer dans une table my sql , dans le même formulaire il y a une partie qui permet de charger un fichier dans un dossier

    voila le formulaire
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <form   action="insertion.php"  method="post">
    si vous voulez ajouter un enregistrement remplir les champs suivant puis valider
    <p>device_id<INPUT NAME="device_id" value="" SIZE=50 MAXLENGTH=100></p>
    <p>Tool_description<INPUT NAME="Tool_description" value="" SIZE=50 MAXLENGTH=100></p>
    <p>Tool_Area<INPUT NAME="Tool_Area" value="" SIZE=50 MAXLENGTH=100></p>
    <p>Tool_Location<INPUT NAME="Tool_Location" value="" SIZE= 50MAXLENGTH=100></p>
    <p>Fiche technique  <INPUT NAME="PDF" value="/fichiers/nom de votre fichier avec extension" SIZE=50 MAXLENGTH=100></p>
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
    <p>Fichier : <input type="file" name="fichiers"></p>
    <P><INPUT type="submit" value="valider" name="ok"><INPUT type="reset" value="Annuler"></P>
    </form>
    et la page php
    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
    <?php 
     
     
    if(isset($_POST['device_id']))      $device_id=$_POST['device_id'];
    else      $device_id="";
     
    if(isset($_POST['Tool_description']))      $Tool_description=$_POST['Tool_description'];
    else      $Tool_description="";
     
    if(isset($_POST['Tool_Area']))      $Tool_Area=$_POST['Tool_Area'];
    else      $Tool_Area="";
     
    if(isset($_POST['Tool_Location']))      $Tool_Location=$_POST['Tool_Location'];
    else      $Tool_Location="";
     
    if(isset($_POST['PDF']))      $PDF=$_POST['PDF'];
    else      $PDF="";
     
            $sql = "INSERT INTO assembly(device_id,Tool_description,Tool_Area,Tool_Location,PDF) VALUES('$device_id','$Tool_description','$Tool_Area','$Tool_Location','$PDF') ";  
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    		echo"vos informations sont ajoutes"
    		?>
            <?php
    $dossier = 'upload/';
    $fichier = basename($_FILES['fichiers']['name']);
    $taille_maxi = 100000;
    $taille = filesize($_FILES['fichiers']['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg', '.jpeg', '.pdf', '.doc', '.docx');
    $extension = strrchr($_FILES['fichiers']['name'], '.'); 
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, pdf, txt ou doc...';
    }
    if($taille>$taille_maxi)
    {
         $erreur = 'Le fichier est trop gros...';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier, 
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
         if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo 'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    else
    {
         echo $erreur;
    }
    ?>
    l'insertion des informations dans la table se passe très bien mais l'upload de fichier m'indique l'erreur suivante:

    vos informations sont ajoutes
    Notice: Undefined index: fichiers in C:\Program Files\EasyPHP-5.3.8.0\www\Nouveau dossier\insertion.php on line 45

    Notice: Undefined index: fichiers in C:\Program Files\EasyPHP-5.3.8.0\www\Nouveau dossier\insertion.php on line 47

    Notice: Undefined index: fichiers in C:\Program Files\EasyPHP-5.3.8.0\www\Nouveau dossier\insertion.php on line 49
    Vous devez uploader un fichier de type png, gif, jpg, jpeg, pdf, txt ou doc...
    sachant que le dossier ou je veux insérer le fichier s'appelle Fichiers est se trouve dans la racine de mon site

    merci de m'aider

  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
    Il n'y a pas de champs "fichiers" dans ton formulaire donc $_FILES['fichiers'] n'existe pas ; $_FILES['avatar'] non plus d'ailleurs.
    Ne serais-tu pas en train de faire un Frankencode avec des trucs piqués à droite à gauche ?

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

Discussions similaires

  1. [Upload] Upload de fichier réception PHP coté serveur
    Par Watier_53 dans le forum Langage
    Réponses: 4
    Dernier message: 10/03/2008, 10h53
  2. [Upload] upload un fichier en php
    Par isselmoumg dans le forum Langage
    Réponses: 2
    Dernier message: 03/03/2008, 15h52
  3. Upload de Fichier pour PHP processing
    Par lekunfry dans le forum Flex
    Réponses: 1
    Dernier message: 05/12/2007, 11h52
  4. [FTP] upload de fichiers via PHP
    Par r-zo dans le forum Langage
    Réponses: 7
    Dernier message: 02/01/2006, 15h29

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