[php]upload 2 images
chris
-
chris -
chris -
Bonjour,
voila je cherche un code pour pouvoir uploader 2 images en même temps.... vous allez me dire regarde sur google.... c'est ce que j'ai fait... mais pour être franc je n'ai pas tout compris.... je débute en php et la j'avoue que je suis perdu !!!
merci de votre aide....
chris
voila je cherche un code pour pouvoir uploader 2 images en même temps.... vous allez me dire regarde sur google.... c'est ce que j'ai fait... mais pour être franc je n'ai pas tout compris.... je débute en php et la j'avoue que je suis perdu !!!
merci de votre aide....
chris
A voir également:
- [php]upload 2 images
- Supercopier 2 - Télécharger - Gestion de fichiers
- Youtube upload - Télécharger - Diffusion
- Des images - Guide
- 2 ecran pc - Guide
- Faire 2 colonnes sur word - Guide
12 réponses
for ($i = 0; $i < count($_FILES['userfile']['name']); $i++) { if (isset($_POST['posted'])) // Regarde ici, si dans ton formulaire t'as un <input type="hidden" name="posted"> et que le form est en action="POST" { $content_dir = 'upload/'; // Vérifie que ce dossier existe $tmp_file = $_FILES['userfile']['tmp_name'][$i]; $nom_file = $_FILES['userfile']['name'][$i]; if (!is_uploaded_file($tmp_file)) exit('Le fichier est introuvable'); $type_file = $_FILES['userfile']['type']; $allowedExt = array('jpg', 'jpeg', 'bmp', 'gif', 'png'); if (in_array(strtolower($type_file), $allowedExt)) exit('Le fichier n\'est pas une image'); $name_file = $_FILES['userfile']['name']; if (preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file)) exit('Nom de fichier non valide'); 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é'; } }
j'ai tenu compte de ton dernier post et voici mon code.... mais rien ne s'affiche.....je pense que c'est faux ce que j'ai fais....
code :
for ($i = 0; $i < count($_FILES['userfile']['name']); $i++)
{
if( isset($_POST['posted']) ) // si formulaire soumis
{
$content_dir = 'upload/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
$nom_file=$_FILES['fichier']['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') && !strstr($type_file, 'png') )
{
exit("Le fichier n'est pas une image");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
if( preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file) )
{
exit("Nom de fichier non valide");
}
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é";
}
}
merci
chris
code :
for ($i = 0; $i < count($_FILES['userfile']['name']); $i++)
{
if( isset($_POST['posted']) ) // si formulaire soumis
{
$content_dir = 'upload/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
$nom_file=$_FILES['fichier']['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') && !strstr($type_file, 'png') )
{
exit("Le fichier n'est pas une image");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
if( preg_match('#[\x00-\x1F\x7F-\x9F/\\\\]#', $name_file) )
{
exit("Nom de fichier non valide");
}
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é";
}
}
merci
chris
Coté html, tu fais plusieurs input file, avec comme name="cequetuveux[]"
Niveau php,
Niveau php,
<?php foreach($_FILES['cequetasvoulus'] as $file) //Ne pas mettre les [] { //Ici c'est le systeme classique, sauf que au lieu d'utilisé la variable $_FILES, tu utilises $file //Nom du fichier: $file['name']; ... } ?>
donc si je comprend bien le foreach sert de boucle pour tout les fichiers a uploader? et c'est dans le foreach que je dois faire les test (si je veux en mettre!!)? il n'y a rien en dehors du foreach a ajouter?
désolé.... j'essai juste de comprendre comment ça marche... parce que pour moi c'est encore assez flou .... j'ai trouvé des exemples pour un seul upload mais dès que je passe à 2 uploads en même temps je suis perdu et je n'y comprend plus rien .... je ne sais comment adapter mon code.....
merci pour la réponse !!!
chris
désolé.... j'essai juste de comprendre comment ça marche... parce que pour moi c'est encore assez flou .... j'ai trouvé des exemples pour un seul upload mais dès que je passe à 2 uploads en même temps je suis perdu et je n'y comprend plus rien .... je ne sais comment adapter mon code.....
merci pour la réponse !!!
chris
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Rien autour du foreach qui sert de boucle ouai.
Ensuite tu met tes tests, puis la fonction move_uploaded_file() (De tete c'est sa) avec $file['tmp'] (De tete aussi)
Ensuite tu met tes tests, puis la fonction move_uploaded_file() (De tete c'est sa) avec $file['tmp'] (De tete aussi)
Euh non désolé j'ai deconné, c'est pas sa niveau PHP désolé
<?php for ($i = 0; $i < count($_FILES['cequetuasvoulus']['name']); $i++) //sans les [] { //Ici c'est le systeme classique, sauf que tu rajoutes [$i] //Nom du fichier: $_FILES['cequetuasvoulus']['name'][$i]; ... } ?>
$tmp_file = $_FILES['fichier']['tmp_name']; $nom_file=$_FILES['fichier']['name'];
Tu dois mettre [$i]
$tmp_file = $_FILES['fichier']['tmp_name'][$i]; $nom_file=$_FILES['fichier']['name'][$i];
Et ceux a toute les variables $_FILES sauf a celle du for
je viens de mettre les [$i] mais ça ne marche toujours pas... rien ne s'affiche et lupload n'a pas lieu
Chris
Chris
c'est cool ça marche !!!!
en effet je n'avais pas <input type="hidden" name="posted">
merci de ton aide !!!
Chris
en effet je n'avais pas <input type="hidden" name="posted">
merci de ton aide !!!
Chris
hey c'est encore moi !!! je voudrais savoir comment faire pour enregistrées le chemin de ces 2 photos dans ma base de données. j'ai donc 2 champs dans ma BDD, photo et photo_grand et je ne sais pas comment lui dire que la première image uploader c'est pour le champs photo et l'autre pour le champ photo_grand...
encore merci de votre aide
Chris
encore merci de votre aide
Chris