Upload file en php

Hayat5 Messages postés 19 Statut Membre -  
 le père -
Bonjour,


je veux faire upload pour plusieurs fichiers
<?php
 echo "<form  method='post' enctype='multipart/form-data' action='upload3.php'>";
for($i=1;$i<=$_POST['nb'];$i++){
    echo '<input type=file name="mesfichiers[]"/><br>';}
echo "
<input type=submit value=envoyer name=a></form>";

?>

et dans upload3.php:
<?php

$files_tab=$_FILES['mesfichiers']['tmp_name'];

foreach($files_tab as $file){
 
 $content_dir = $_SERVER['DOCUMENT_ROOT'].'voiture/image/images/';

    // 2
    if( !is_uploaded_file($_FILES['mesfichiers']['tmp_name']) )
    {
        exit("Le fichier est introuvable");
    }

    // 3
    if( !move_uploaded_file($files_tab, $content_dir . $_FILES['mesfichiers']['name']) )
    {
        exit("Impossible de copier le fichier dans $content_dir");   
}
}

?>

mais ce code nemarche pas car is_uploaded_file() accepte string et non pas des tableaux
mais je ne sais pas la bonne solution pour qu'il marche j'espere que quelqu'un puisse m'aider.
merci a l'avance
A voir également:

1 réponse

le père
 
Bonjour

ton code ne marche pas parce que tu n'indiques pas le bon nom pour tes fichiers.
Comme tu fais (avec raison) un foreach, chaque fichier est $file, pas $_FILES['mesfichiers'] Tu aurais donc dû écrire :

<?php
$files_tab=$_FILES['mesfichiers']['tmp_name'];

foreach($files_tab as $file){
 
 $content_dir = $_SERVER['DOCUMENT_ROOT'].'voiture/image/images/';
    // 2
    if( !is_uploaded_file($file['tmp_name']) )
    {
        exit("Le fichier est introuvable");
    }
    // 3
    if( !move_uploaded_file($file['tmp_name'], $content_dir . $file['name']) )
    {
        exit("Impossible de copier le fichier dans $content_dir");   
}
}

?>

(tes messages d'erreur sont un peu courts, tu devrais préciser avec quel fichier il y a un problème, puisque tu peux en avoir plusieurs)
0