[PHP]Upload de fichier qui ne marche pas

Varkal -  
 Bucheron -
Bonjour,

Lorsque je teste ce code :

$content_dir = 'images/'; // dossier où sera déplacé le fichier  

    $tmp_file = $_FILES['fichier']['tmp_name'];  

    if( !is_uploaded_file($tmp_file) )  
    {  
        exit("Le fichier est introuvable");  
    }  

    // on vérifie maintenant l'extension  
    $type_file = $_FILES['fichier']['type'];  

    if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )  
    {  
        exit("Le fichier n'est pas une image");  
    }  

    // on copie le fichier dans le dossier de destination  
    $name_file = $_FILES['fichier']['name'];  

    if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )  
    {  
        exit("Impossible de copier le fichier dans $content_dir");  
    }  

    echo "Le fichier a bien été uploadé";



Qui est le début de la réponse a ce formulaire :

<!DOCTYPE HTML>  
<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
        <script type="text/javascript" src='fonctions/fonctions.js'></script>  
    </head>  
    <body>  
        <form method='post' action='inputartiste.php' onsubmit="return(Test());">  
           Nom : <input type="text" name="nomearti"/><br/>  
           Date de Naissance : <input id='dnai' type="text" name="dnaiarti"/><br/>  
           Date de Décès : <input id='dmor' type="text" name="dmorarti"/><br/>  
           Biographie :<br/>  
           <textarea cols="100" rows="20"name="biogarti"></textarea><br/>  
           Illustation :<input type="file" name="fichier"><br/>  
           <input type='submit'/>  
        </form>  
    </body>  
</html>


J'obtient cette erreur :


Notice: Undefined index: fichier in C:\Program Files (x86)\EasyPHP-5.3.6.0\www\PTI1\inputartiste.php on line 7
Le fichier est introuvable


Et je ne comprend pas pourquoi.

Please, Help Me !


A voir également:

1 réponse

Bucheron
 
Pour que l'upload fonctionne il faut que ta balise form est cette attribut :

enctype="multipart/form-data"

donc tu remplace :
<form method='post' action='inputartiste.php' onsubmit="return(Test());">

par :
<form method='post' action='inputartiste.php' onsubmit="return(Test());" enctype="multipart/form-data" >
2