Upload file en php
Hayat5
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
le père -
le père -
Bonjour,
je veux faire upload pour plusieurs fichiers
et dans upload3.php:
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
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
1 réponse
-
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)