Insertion de plusieurs PDF dans une base de donnée
Résolu/Fermé
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
-
Modifié le 27 juil. 2020 à 14:38
modemo2018 Messages postés 231 Date d'inscription vendredi 15 novembre 2019 Statut Membre Dernière intervention 13 octobre 2022 - 6 août 2020 à 10:07
modemo2018 Messages postés 231 Date d'inscription vendredi 15 novembre 2019 Statut Membre Dernière intervention 13 octobre 2022 - 6 août 2020 à 10:07
A voir également:
- Formulaire insertion données mysql php pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Save as pdf - Télécharger - Bureautique
- Comment faire un pdf - Guide
- Comment modifier un pdf - Guide
- Comment réduire la taille d'un pdf - Guide
12 réponses
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
27 juil. 2020 à 14:39
27 juil. 2020 à 14:39
Bonjour,
Déjà, sache qu'il n'est pas bon de stocker les fichiers directement en BDD
Il est préférable de conserver les fichiers dans un dossier du serveur, et de ne stocker en BDD que le chemin vers ces fichiers.
Et ensuite,
pour insérer 3 lignes dans la bdd .. il faut faire 3 requêtes SQL.
Tu peux, bien entendu, utiliser une boucle sur la variable $_FILES pour que ça se fasse automatiquement, que tu aies 1,2,3 ou plus , fichiers à enregistrer.
Déjà, sache qu'il n'est pas bon de stocker les fichiers directement en BDD
Il est préférable de conserver les fichiers dans un dossier du serveur, et de ne stocker en BDD que le chemin vers ces fichiers.
Et ensuite,
pour insérer 3 lignes dans la bdd .. il faut faire 3 requêtes SQL.
Tu peux, bien entendu, utiliser une boucle sur la variable $_FILES pour que ça se fasse automatiquement, que tu aies 1,2,3 ou plus , fichiers à enregistrer.
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
Modifié le 28 juil. 2020 à 10:40
Modifié le 28 juil. 2020 à 10:40
C'est ma première expérience en ce qui concerne l'insertion des fichiers dans une BDD, je suis débutant là dessus, en partant de la partie du code que j'ai publié, SVP comment puis-je codé(en PHP) pour stocker chaque fichier chargé depuis son PC ou autre dans un dossier du serveur et n'enregistré que le chemin dans la BDD ?
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
28 juil. 2020 à 10:42
28 juil. 2020 à 10:42
Déjà, il te manque un move_uploaded_file pour stoker le ficher sur le serveur.
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
Modifié le 28 juil. 2020 à 11:51
Modifié le 28 juil. 2020 à 11:51
Voici un code que j'ai essayé d'adapté mais ça ne s'exécute pas, Stp peut-tu me dire ce qui fait que ça ne marche pas? Est-ce la bonne manière? Que dois-je corriger?
Le chargement du fichier se fait d'abord localement
Le chargement du fichier se fait d'abord localement
if(isset($_POST['fic'])) { $ret = false; $img_blob = ''; $img_taille= 0; $img_type = '';$img_nom = ''; $taille_max= 250000; $ret = is_uploaded_file($_FILES['fic']['tmp_name']); if (!$ret) { echo "Problème de transfert"; return false; } else { // Le fichier a bien été reçu $img_taille = $_FILES['fic']['size']; if ($img_taille > $taille_max) { echo "Trop gros !"; return false; } else { $img_type = $_FILES['fic']['type']; $img_nom = $_FILES['fic']['name']; $img_blob = addslashes (file_get_contents ($_FILES['fic']['tmp_name'])); $dossier =$_SERVER['DOCUMENT_ROOT']. '/Applications/MAMP/htdocs/css/'; $fich= $_FILES ['fic']['name']; if(move_uploaded_file(file_get_contents ($_FILES['fic']['tmp_name']),$dossier . $fich)) { $sql1 = 'INSERT INTO pdf(ideleve, pdf_nom, pdf_taille, pdf_type, pdf_blob, iduser, ideleve, mois, an) VALUES(:ideleve, :pdf_nom, :pdf_taille, :pdf_type, :pdf_blob, :mois, :an)'; $datas = array(':ideleve' => $id1,':nom' => $img_nom, ':pdf_taille' => $img_taille, ':pdf_type' => $img_type, ':pdf_blob' => $dossier,':mois' => $mois,':an' => $annee); try { $req1 = $bdd->prepare ( $sql1 ); if ( $req1->execute ( $datas ) ) { } else { echo "<br> Erreur lors de l'enregistrement... <br>"; print_r ( $datas ); exit; } } catch ( Exception $e ) { // en cas d'erreur : echo "<br> Erreur lors de l'enregistrement en BDD ! " . $e->getMessage (); print_r ( $datas ); exit; } } } } }
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
Modifié le 28 juil. 2020 à 11:59
Modifié le 28 juil. 2020 à 11:59
ça ne s'exécute pas ... c'est à dire ?
Tu as un message d'erreur ?
Tu as fais un
il serait bien d'y ajouter un else pour voir si ça a fonctionné non ?
En plus, pourrais tu mettre un peu d'indentation dans ton code ? car là.. il est illisible !
Tu as un message d'erreur ?
Tu as fais un
if(move_uploaded_file(file_get_contents ($_FILES['fic']['tmp_name']),$dossier . $fich))
il serait bien d'y ajouter un else pour voir si ça a fonctionné non ?
En plus, pourrais tu mettre un peu d'indentation dans ton code ? car là.. il est illisible !
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
Modifié le 28 juil. 2020 à 13:01
Modifié le 28 juil. 2020 à 13:01
J'ai mis un message d'erreur mais ça ne s'affiche pas et il intègre pas le fichier
if(isset($_POST['fic'])) { $ret = false; $img_blob = ''; $img_taille= 0; $img_type = '';$img_nom = ''; $taille_max= 250000; $ret = is_uploaded_file($_FILES['fic']['tmp_name']); if (!$ret) { echo "Problème de transfert"; return false; } else { // Le fichier a bien été reçu $img_taille = $_FILES['fic']['size']; if ($img_taille > $taille_max) { echo "Trop gros !"; return false; } else { $img_type = $_FILES['fic']['type']; $img_nom = $_FILES['fic']['name']; $img_blob = addslashes (file_get_contents ($_FILES['fic']['tmp_name'])); $dossier =$_SERVER['DOCUMENT_ROOT']. '/Applications/MAMP/htdocs/css/'; $fich= $_FILES ['fic']['name']; if(move_uploaded_file(file_get_contents ($_FILES['fic']['tmp_name']),$dossier . $fich)) { $sql1 = 'INSERT INTO pdf(ideleve, pdf_nom, pdf_taille, pdf_type, pdf_blob, iduser, ideleve, mois, an) VALUES(:ideleve, :pdf_nom, :pdf_taille, :pdf_type, :pdf_blob, :mois, :an)'; $datas = array(':ideleve' => $id1,':nom' => $img_nom, ':pdf_taille' => $img_taille, ':pdf_type' => $img_type, ':pdf_blob' => $dossier,':mois' => $mois,':an' => $annee); try { $req1 = $bdd->prepare ( $sql1 ); if ( $req1->execute ( $datas ) ) { } else { echo "<br> Erreur lors de l'enregistrement... <br>"; print_r ( $datas ); exit; } } catch ( Exception $e ) { // en cas d'erreur : echo "<br> Erreur lors de l'enregistrement en BDD ! " . $e->getMessage (); print_r ( $datas ); exit; } } else { echo '<font color="red">Echec de l\'upload pour le fichier <f/ont>'.$_FILES ['fic']['name']. "<br/><br/>"; } } } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
28 juil. 2020 à 13:10
28 juil. 2020 à 13:10
Tu as acrivé l'affichage des erreurs PHP ?
pour rappel :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Et puis, pourrais tu, au début de ton script php, juste en dessous de ton
nous faire un
pour rappel :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Et puis, pourrais tu, au début de ton script php, juste en dessous de ton
if(isset($_POST['fic'])) {
nous faire un
var_dump($_FILES);et nous montrer ce que ça te retourne ?
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
28 juil. 2020 à 13:15
28 juil. 2020 à 13:15
oui, l'affichage des erreurs a été mis, le voici :
voici l'erreur afficher par Var_dump:
array(1) { ["fic"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } }
/début de ton fichier php .... ça veut dire .. DEBUT !!!: error_reporting ( E_ALL ); ini_set ( 'display_errors', TRUE ); ini_set ( 'display_startup_errors', TRUE );
voici l'erreur afficher par Var_dump:
array(1) { ["fic"]=> array(5) { ["name"]=> string(0) "" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(4) ["size"]=> int(0) } }
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
28 juil. 2020 à 13:19
28 juil. 2020 à 13:19
Visiblement ta variable $_FILES est vide ....
Tu as mis un fichier dans ton formulaire ?
Tu as spécifié le enctype dans ton form ?
Montre ton code html ....
et si possible montre ton code php COMPLET
Tu as mis un fichier dans ton formulaire ?
Tu as spécifié le enctype dans ton form ?
enctype="multipart/form-data"
Montre ton code html ....
et si possible montre ton code php COMPLET
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
28 juil. 2020 à 13:27
28 juil. 2020 à 13:27
oui j'ai mis ça, voici le code partie formulaire
Voici la partie insertion:
<form enctype="multipart/form-data" action="" method="post" class="p-5 bg-white"> <div class="row form-group"> <div class="col-md-12 mb-3 mb-md-0"> <label class="font-weight-bold" for="fullname">Nom</label> <input type="text" id="fullname" class="form-control" placeholder="" name="nom"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Prenom</label> <input type="text" id="fullname" class="form-control" placeholder="" name="prenom"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Date de Naissance</label> <input type="text" id="fullname" class="form-control" placeholder="(Ex: 25/07/2020)" name="date"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Insérer Fichier : </label> <?php// //$i =1; //while ($i <= $nbre){ //?> echo '<input type="hidden" name="MAX_FILE_SIZE" value="250000" /> <input type="file" name="fic" size=50 /> </div></div>'; //$i++; //} <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Sexe</label> <select name="genre" id="" class="form-control"> <option value="Garçon">Garçon</option> <option value="Fille">Fille</option> </select> </div> </div> <div class="row form-group"> <div class="col-md-12"> <input type="submit" value="Enregistrer" class="btn btn-primary py-2 px-4"> </div> </div>
Voici la partie insertion:
if(isset($_POST['nom']) && isset($_POST['prenom'])) { //début de ton fichier php .... ça veut dire .. DEBUT !!!: error_reporting ( E_ALL ); ini_set ( 'display_errors', TRUE ); ini_set ( 'display_startup_errors', TRUE ); if(isset($_POST['fic'])) { $ret = false; $img_blob = ''; $img_taille= 0; $img_type = '';$img_nom = ''; $taille_max= 250000; $img_blob = addslashes (file_get_contents ($_FILES['fic']['tmp_name'])); $dossier =$_SERVER['DOCUMENT_ROOT']. '/Applications/MAMP/htdocs/css/'; $fich= $_FILES ['fic']['name']; $ret = move_uploaded_file(file_get_contents ($_FILES['fic']['tmp_name']),$dossier . $fich); if (!$ret) { echo "Problème de transfert"; return false; } else { // Le fichier a bien été reçu $img_taille = $_FILES['fic']['size']; if ($img_taille > $taille_max) { echo "Trop gros !"; return false; } else { $img_type = $_FILES['fic']['type']; $img_nom = $_FILES['fic']['name']; if(move_uploaded_file(file_get_contents ($_FILES['fic']['tmp_name']),$dossier . $fich)) { $sql1 = 'INSERT INTO pdf(ideleve, pdf_nom, pdf_taille, pdf_type, pdf_blob, iduser, ideleve, mois, an) VALUES(:ideleve, :pdf_nom, :pdf_taille, :pdf_type, :pdf_blob, :mois, :an)'; $datas = array(':ideleve' => $id1,':nom' => $img_nom, ':pdf_taille' => $img_taille, ':pdf_type' => $img_type, ':pdf_blob' => $dossier,':mois' => $mois,':an' => $annee); try { $req1 = $bdd->prepare ( $sql1 ); if ( $req1->execute ( $datas ) ) { } else { echo "<br> Erreur lors de l'enregistrement... <br>"; print_r ( $datas ); exit; } } catch ( Exception $e ) { // en cas d'erreur : echo "<br> Erreur lors de l'enregistrement en BDD ! " . $e->getMessage (); print_r ( $datas ); exit; } } else { echo '<font color="red">Echec de l\'upload pour le fichier <f/ont>'.$_FILES ['fic']['name']. "<br/><br/>"; } } } } var_dump($_FILES); }
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
>
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
28 juil. 2020 à 15:08
28 juil. 2020 à 15:08
Non seulement tu colles du code au pif sans te relire...
mais en plus tu oublies une partie du code.
- Par exemple ... lorsque dans les commentaires c'est indiqué qu'il faut mettre le code au début... et bien.. c'est qu'il faut le mettre au début !
- Tu ne nous as pas donné la fin de ton formulaire ( il manque la balise de fin </form> )
- Où as tu vu, qu'il fallait faire du file_get_content pour le move_upload ??
Bref,
ton code, légèrement corrigé....
devrait ressembler à un truc du genre
PS: Tu sais... c'est un peu fatiguant de devoir te rabacher toujours les mêmes choses...
A chaque question que tu viens poser ici je répète les mêmes choses... et visiblement ça ne semble pas entrer dans ta tête !!
Faudrait peut-être commencer à faire des efforts... sinon je vais finir par lâcher l'affaire et ne plus essayer de t'aider !
mais en plus tu oublies une partie du code.
- Par exemple ... lorsque dans les commentaires c'est indiqué qu'il faut mettre le code au début... et bien.. c'est qu'il faut le mettre au début !
- Tu ne nous as pas donné la fin de ton formulaire ( il manque la balise de fin </form> )
- Où as tu vu, qu'il fallait faire du file_get_content pour le move_upload ??
Bref,
ton code, légèrement corrigé....
devrait ressembler à un truc du genre
<?php //début de ton fichier php .... ça veut dire .. DEBUT !!!: <<<--- c'est bien marqué DEBUT... DEBUT ... DEBUT .. comment te le dire autrement ????!!!!!! // il faut donc le mettre au DEBUUUUUUTTTTTTT !!!!!!!!! error_reporting ( E_ALL ); ini_set ( 'display_errors', TRUE ); ini_set ( 'display_startup_errors', TRUE ); //récupération PROPRE des variables AVANT de les utiliser $nom = !empty($_POST['nom']) ? $_POST['nom'] : NULL; $prenom = !empty($_POST['prenom']) ? $_POST['prenom'] : NULL; $files = !empty ( $_FILES['fic'] ) ? $_FILES['fic'] : NULL; // Autres variables $taille_max = 250000; $dossier = $_SERVER['DOCUMENT_ROOT'] . '/Applications/MAMP/htdocs/css/'; if ( $files ) { var_dump ( $_FILES ); if ( !$files ) { echo "Aucun fichier à charger !" . PHP_EOL; exit; } $uploadfile = $dossier . basename ( $files['name'] ); $img_taille = $files['size']; if ( $img_taille > $taille_max ) { echo "Trop gros !" . PHP_EOL; exit; } $img_type = $files['type']; $img_nom = $files['name']; if ( move_uploaded_file ( $files['tmp_name'], $uploadfile ) ) { echo "Le fichier est valide, et a été téléchargé avec succès. \n"; //insertion en BDD $sql1 = 'INSERT INTO pdf(ideleve, pdf_nom, pdf_taille, pdf_type, pdf_blob, iduser, ideleve, mois, an) VALUES(:ideleve, :pdf_nom, :pdf_taille, :pdf_type, :pdf_blob, :mois, :an)'; $datas = array(':ideleve' => $id1 , ':nom' => $img_nom , ':pdf_taille' => $img_taille , ':pdf_type' => $img_type , ':pdf_blob' => $uploadfile , ':mois' => $mois , ':an' => $annee ); try { $req1 = $bdd->prepare ( $sql1 ); $req1->execute ( $datas ); } catch ( Exception $e ) { // en cas d'erreur : echo "<br> Erreur lors de l'enregistrement en BDD ! " . $e->getMessage (); print_r ( $datas ); exit; } } else { echo '<font color="red">Echec de l\'upload pour le fichier <f/ont>' . $files['name'] . "<br/><br/>"; exit; } } ?> <form enctype="multipart/form-data" action="" method="post" class="p-5 bg-white"> <div class="row form-group"> <div class="col-md-12 mb-3 mb-md-0"> <label class="font-weight-bold" for="fullname">Nom</label> <input type="text" id="fullname" class="form-control" placeholder="" name="nom"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Prenom</label> <input type="text" id="fullname" class="form-control" placeholder="" name="prenom"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Date de Naissance</label> <input type="text" id="fullname" class="form-control" placeholder="(Ex: 25/07/2020)" name="date"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Insérer Fichier : </label> <input type="hidden" name="MAX_FILE_SIZE" value="250000" /> <input type="file" name="fic" size=50 /> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Sexe</label> <select name="genre" id="" class="form-control"> <option value="Garçon">Garçon</option> <option value="Fille">Fille</option> </select> </div> </div> <div class="row form-group"> <div class="col-md-12"> <input type="submit" value="Enregistrer" class="btn btn-primary py-2 px-4"> </div> </div> </form>
PS: Tu sais... c'est un peu fatiguant de devoir te rabacher toujours les mêmes choses...
A chaque question que tu viens poser ici je répète les mêmes choses... et visiblement ça ne semble pas entrer dans ta tête !!
Faudrait peut-être commencer à faire des efforts... sinon je vais finir par lâcher l'affaire et ne plus essayer de t'aider !
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
29 juil. 2020 à 13:16
29 juil. 2020 à 13:16
Bonjour, merci pour la proposition, en passant je suis vraiment débutant en ce qui concerne l'upload du fichier dans une base de donnée, vous pouvez le remarquer par ma manière de coder là dessus, SVP vraiment un peu de tolérance à mon amateurisme.
j'ai exécuté le code, il me renvoi une erreur:
array(1) { ["fic"]=> array(5) { ["name"]=> string(27) "Chargements de fichiers.pdf" ["type"]=> string(15) "application/pdf" ["tmp_name"]=> string(36) "/Applications/MAMP/tmp/php/phpOrNRq0" ["error"]=> int(0) ["size"]=> int(124612) } }
Warning: move_uploaded_file(/Applications/MAMP/htdocs/Applications/MAMP/htdocs/css/Chargements de fichiers.pdf): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 272
Warning: move_uploaded_file(): Unable to move '/Applications/MAMP/tmp/php/phpOrNRq0' to '/Applications/MAMP/htdocs/Applications/MAMP/htdocs/css/Chargements de fichiers.pdf' in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 272
Echec de l'upload pour le fichier Chargements de fichiers.pdf
C'est un problème lier à l'emplacement du fichier dans le serveur, seulement je sais pas trop comment le corriger
j'ai exécuté le code, il me renvoi une erreur:
array(1) { ["fic"]=> array(5) { ["name"]=> string(27) "Chargements de fichiers.pdf" ["type"]=> string(15) "application/pdf" ["tmp_name"]=> string(36) "/Applications/MAMP/tmp/php/phpOrNRq0" ["error"]=> int(0) ["size"]=> int(124612) } }
Warning: move_uploaded_file(/Applications/MAMP/htdocs/Applications/MAMP/htdocs/css/Chargements de fichiers.pdf): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 272
Warning: move_uploaded_file(): Unable to move '/Applications/MAMP/tmp/php/phpOrNRq0' to '/Applications/MAMP/htdocs/Applications/MAMP/htdocs/css/Chargements de fichiers.pdf' in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 272
Echec de l'upload pour le fichier Chargements de fichiers.pdf
C'est un problème lier à l'emplacement du fichier dans le serveur, seulement je sais pas trop comment le corriger
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
>
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
29 juil. 2020 à 13:51
29 juil. 2020 à 13:51
Grâce au message d'erreur il est facile de deviner que le souci vient de la variable dossier
a la ligne 6 .
Retire le $_SERVER['DOCUMENT_ROOT'] .
a la ligne 6 .
Retire le $_SERVER['DOCUMENT_ROOT'] .
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
29 juil. 2020 à 16:07
29 juil. 2020 à 16:07
le dossier de destination ( CSS) est dans la racine du dossier où est logé les pages du site
et il est où se dossier ? c'est quoi son nom ??
Je vais essayer de te le formuler autrement
$dossier = "chemin/vers/le/dossier/css"; // à partir du dossier htdocs //par exemple $dossier = "kela/css";
Tu peux éventuellement tester
$dossier = $_SERVER['DOCUMENT_ROOT'] . '/kela/css/';
ou en chemin relatif,
$dossier = './css/'; // si le dossier CSS se trouve au même niveau que ton script PHP
bref... à toi de trouver le chemin qui correspond à l'emplacement de ton dossier....
Je ne suis pas dans ta tête ni devant ton écran... à toi de savoir où se trouve ton dossier.
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
Modifié le 30 juil. 2020 à 12:43
Modifié le 30 juil. 2020 à 12:43
Bonjour je comprend pas, avec la proposition 2
Parfois c'est ni le fichier ni les infos s'insère et il me renvoi ce message d'erreur :
array(1) { ["fic"]=> array(5) { ["name"]=> string(50) "Comment Générer des Prospects sur Facebook.pdf" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(2) ["size"]=> int(0) } } Echec de l'upload pour le fichier Comment Générer des Prospects sur Facebook.pdf
ou encore il affiche ce ceci
array(1) { ["fic"]=> array(5) { ["name"]=> string(23) "curriculum_vitae_31.pdf" ["type"]=> string(15) "application/pdf" ["tmp_name"]=> string(36) "/Applications/MAMP/tmp/php/phpaUqdOS" ["error"]=> int(0) ["size"]=> int(86788) } } Le fichier est valide, et a été téléchargé avec succès.
Erreur lors de l'enregistrement en BDD ! SQLSTATE[HY093]: Invalid parameter number: parameter was not definedArray ( [:ideleve] => 13 [:nom] => curriculum_vitae_31.pdf [:pdf_taille] => 86788 [:pdf_type] => application/pdf [:pdf_blob] => /Applications/MAMP/htdocs/kela/css/curriculum_vitae_31.pdf [:mois] => juillet [:an] => 2020 )
$dossier = $_SERVER['DOCUMENT_ROOT'] . '/kela/css/';, certains fichier se loge au serveur, il me signale que le fichier est uploadé avc succès mais les infos ne s'insère pas dans la base de donnée et parfois.
Parfois c'est ni le fichier ni les infos s'insère et il me renvoi ce message d'erreur :
array(1) { ["fic"]=> array(5) { ["name"]=> string(50) "Comment Générer des Prospects sur Facebook.pdf" ["type"]=> string(0) "" ["tmp_name"]=> string(0) "" ["error"]=> int(2) ["size"]=> int(0) } } Echec de l'upload pour le fichier Comment Générer des Prospects sur Facebook.pdf
ou encore il affiche ce ceci
array(1) { ["fic"]=> array(5) { ["name"]=> string(23) "curriculum_vitae_31.pdf" ["type"]=> string(15) "application/pdf" ["tmp_name"]=> string(36) "/Applications/MAMP/tmp/php/phpaUqdOS" ["error"]=> int(0) ["size"]=> int(86788) } } Le fichier est valide, et a été téléchargé avec succès.
Erreur lors de l'enregistrement en BDD ! SQLSTATE[HY093]: Invalid parameter number: parameter was not definedArray ( [:ideleve] => 13 [:nom] => curriculum_vitae_31.pdf [:pdf_taille] => 86788 [:pdf_type] => application/pdf [:pdf_blob] => /Applications/MAMP/htdocs/kela/css/curriculum_vitae_31.pdf [:mois] => juillet [:an] => 2020 )
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
30 juil. 2020 à 14:47
30 juil. 2020 à 14:47
Pour le premier cas, il faudrait vérifier le contenu de $files['error']
https://www.php.net/manual/fr/features.file-upload.php
Pour le second message, ce n'est plus lié à l'upload de fichier... mais aux paramètres que tu envoies à la requête SQL
Vérifie que le nom des variables de ta requête
sont identiques à ceux envoyés dans $datas
et tu verras qu'il y a bien une différence de nom ...
https://www.php.net/manual/fr/features.file-upload.php
Pour le second message, ce n'est plus lié à l'upload de fichier... mais aux paramètres que tu envoies à la requête SQL
Vérifie que le nom des variables de ta requête
//insertion en BDD $sql1 = 'INSERT INTO pdf(ideleve, pdf_nom, pdf_taille, pdf_type, pdf_blob, iduser, ideleve, mois, an) VALUES(:ideleve, :pdf_nom, :pdf_taille, :pdf_type, :pdf_blob, :mois, :an)';
sont identiques à ceux envoyés dans $datas
$datas = array(':ideleve' => $id1 , ':nom' => $img_nom , ':pdf_taille' => $img_taille , ':pdf_type' => $img_type , ':pdf_blob' => $uploadfile , ':mois' => $mois , ':an' => $annee );
et tu verras qu'il y a bien une différence de nom ...
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
30 juil. 2020 à 15:47
30 juil. 2020 à 15:47
J'ai vu d'où venais l'erreur et j'ai corrigé maintenant 'l'insertion marche,
Svp mais quelle condition avec la variable $_FILES pour permettre l'enregistrement des trois fichiers à insérer tour à tour ? Vu que j'ai trois fichier different avec le même $_FILES['fic'];
Svp mais quelle condition avec la variable $_FILES pour permettre l'enregistrement des trois fichiers à insérer tour à tour ? Vu que j'ai trois fichier different avec le même $_FILES['fic'];
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
30 juil. 2020 à 16:52
30 juil. 2020 à 16:52
Tu dois mettre en "name" de ton input file, un array
remplacer la ligne de code
par
Et ensuite, tu devras boucler sur la variable $arr_files
https://www.php.net/manual/fr/features.file-upload.multiple.php
<input type="file" name="fic[]" size=50 /> <input type="file" name="fic[]" size=50 /> <input type="file" name="fic[]" size=50 />
remplacer la ligne de code
$files = !empty ( $_FILES['fic'] ) ? $_FILES['fic'] : NULL;
par
$arr_files = !empty ( $_FILES['fic'] ) ? $_FILES['fic'] : NULL;
Et ensuite, tu devras boucler sur la variable $arr_files
foreach($arr_files as $files ){ $uploadfile = $dossier . basename ( $files['name'] ); $img_taille = $files['size']; if ( $img_taille > $taille_max ) { echo "Trop gros !" . PHP_EOL; exit; } $img_type = $files['type']; $img_nom = $files['name']; if ( move_uploaded_file ( $files['tmp_name'], $uploadfile ) ) { echo "Le fichier est valide, et a été téléchargé avec succès. \n"; //insertion en BDD $sql1 = 'INSERT INTO pdf(ideleve, pdf_nom, pdf_taille, pdf_type, pdf_blob, iduser, ideleve, mois, an) VALUES(:ideleve, :pdf_nom, :pdf_taille, :pdf_type, :pdf_blob, :mois, :an)'; $datas = array(':ideleve' => $id1 , ':nom' => $img_nom , ':pdf_taille' => $img_taille , ':pdf_type' => $img_type , ':pdf_blob' => $uploadfile , ':mois' => $mois , ':an' => $annee ); try { $req1 = $bdd->prepare ( $sql1 ); $req1->execute ( $datas ); } catch ( Exception $e ) { // en cas d'erreur : echo "<br> Erreur lors de l'enregistrement en BDD ! " . $e->getMessage (); print_r ( $datas ); exit; } } else { echo '<font color="red">Echec de l\'upload pour le fichier <f/ont>' . $files['name'] . "<br/><br/>"; exit; } }
https://www.php.net/manual/fr/features.file-upload.multiple.php
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
31 juil. 2020 à 12:53
31 juil. 2020 à 12:53
J'ai exécuté votre proposition mais il me renvoi des erreurs :
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 314
Notice: Undefined index: size in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 316
Notice: Undefined index: type in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 321
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 322
Notice: Undefined index: tmp_name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 324
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 351
Echec de l'upload pour le fichier
voici le code en gros
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 314
Notice: Undefined index: size in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 316
Notice: Undefined index: type in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 321
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 322
Notice: Undefined index: tmp_name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 324
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 351
Echec de l'upload pour le fichier
voici le code en gros
$taille_max = 250000; $arr_files = !empty ( $_FILES['fic'] ) ? $_FILES['fic'] : NULL; $dossier = $_SERVER['DOCUMENT_ROOT'] . '/kela/css/'; foreach($arr_files as $files ){ $uploadfile = $dossier . basename ( $files['name'] ); $img_taille = $files['size']; // Erreur 314 if ( $img_taille > $taille_max ) { echo "Trop gros !" . PHP_EOL; exit; } $img_type = $files['type'];// Erreur 316 $img_nom = $files['name']; // Erreur 322 if ( move_uploaded_file ( $files['tmp_name'], $uploadfile ) ) { //// Erreur 324 //echo "Le fichier est valide, et a été téléchargé avec succès. \n"; //insertion en BDD $sql1 = 'INSERT INTO pdf(ideleve, pdf_nom, pdf_taille, pdf_type, pdf_blob, mois, an) VALUES(:ideleve, :pdf_nom, :pdf_taille, :pdf_type, :pdf_blob, :mois, :an)'; $datas = array(':ideleve' => $id1 , ':pdf_nom' => $img_nom , ':pdf_taille' => $img_taille , ':pdf_type' => $img_type , ':pdf_blob' => $uploadfile , ':mois' => $mois , ':an' => $annee ); try { $req1 = $bdd->prepare ( $sql1 ); $req1->execute ( $datas ); } catch ( Exception $e ) { // en cas d'erreur : echo "<br> Erreur lors de l'enregistrement en BDD ! " . $e->getMessage (); print_r ( $datas ); exit; } } else { echo '<font color="red">Echec de l\'upload pour le fichier <f/ont>' . $files['name'] . "<br/> <br/>"; // Erreur 51 exit; } }
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
31 juil. 2020 à 13:11
31 juil. 2020 à 13:11
Comme à chaque fois il faut essayer de comprendre ce qu'il se passe pour ça tu peux utiliser des échos ou des var_dump
Sur tes variables...
Donc on commence par faire un var_dump
De $_FILES['fic']
Et montre-nous ce que ça donne....
bien entendu j'espère que tu as également modifier le code HTML tel que je te l'ai indiqué...
Sur tes variables...
Donc on commence par faire un var_dump
De $_FILES['fic']
Et montre-nous ce que ça donne....
bien entendu j'espère que tu as également modifier le code HTML tel que je te l'ai indiqué...
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
Modifié le 31 juil. 2020 à 13:48
Modifié le 31 juil. 2020 à 13:48
En lisant le : https://www.php.net/manual/fr/features.file-upload.multiple.php,
j'ai appris quelques elements et ça m'a permis à faire quelques modifications:
Mais quand j'éxécute j'ai presque toujours les même erreurs
array(1) { ["fic"]=> array(5) { ["name"]=> array(2) { [0]=> string(11) "unnamed.png" [1]=> string(23) "curriculum_vitae_31.pdf" } ["type"]=> array(2) { [0]=> string(9) "image/png" [1]=> string(15) "application/pdf" } ["tmp_name"]=> array(2) { [0]=> string(36) "/Applications/MAMP/tmp/php/phpNcOmdx" [1]=> string(36) "/Applications/MAMP/tmp/php/phpyWrmMh" } ["error"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["size"]=> array(2) { [0]=> int(33493) [1]=> int(86788) } } }
Notice: Undefined index: fic in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 319
Notice: Undefined index: fic in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 321
Notice: Undefined index: fic in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 326
Notice: Undefined index: fic in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 327
Notice: Undefined index: fic in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 329
j'ai appris quelques elements et ça m'a permis à faire quelques modifications:
$taille_max = 250000; $dossier = $_SERVER['DOCUMENT_ROOT'] . '/kela/css/'; $arr_files = !empty ( $_FILES['fic'] ) ? $_FILES['fic'] : NULL; $i = 1; foreach($arr_files as $files ){ var_dump ( $_FILES ); //if ( !$files ) { echo "Aucun fichier à charger !" . PHP_EOL; exit;} $uploadfile = $dossier . basename ( $files['fic']['name'][$i]); $img_taille = $files['fic']['size'][$i]; if ( $img_taille > $taille_max ) { echo "Trop gros !" . PHP_EOL; exit; } $img_type = $files['fic']['type'][$i]; $img_nom = $files['fic']['name'][$i]; if ( move_uploaded_file ( $files['fic']['tmp_name'][$i], $uploadfile ) ) { //echo "Le fichier est valide, et a été téléchargé avec succès. \n"; //insertion en BDD $sql1 = 'INSERT INTO pdf(ideleve, pdf_nom, pdf_taille, pdf_type, pdf_blob, mois, an) VALUES(:ideleve, :pdf_nom, :pdf_taille, :pdf_type, :pdf_blob, :mois, :an)'; $datas = array(':ideleve' => $id1 , ':pdf_nom' => $img_nom , ':pdf_taille' => $img_taille , ':pdf_type' => $img_type , ':pdf_blob' => $uploadfile , ':mois' => $mois , ':an' => $annee ); try { $req1 = $bdd->prepare ( $sql1 ); $req1->execute ( $datas ); } catch ( Exception $e ) { // en cas d'erreur : echo "<br> Erreur lors de l'enregistrement en BDD ! " . $e->getMessage (); //print_r ( $datas ); exit; } } else { //echo '<font color="red">Echec de l\'upload pour le fichier <f/ont>' . $files['name'] . "<br/><br/>"; exit; } if ($i > $nbre ){ break 1; } $i++; }
Mais quand j'éxécute j'ai presque toujours les même erreurs
array(1) { ["fic"]=> array(5) { ["name"]=> array(2) { [0]=> string(11) "unnamed.png" [1]=> string(23) "curriculum_vitae_31.pdf" } ["type"]=> array(2) { [0]=> string(9) "image/png" [1]=> string(15) "application/pdf" } ["tmp_name"]=> array(2) { [0]=> string(36) "/Applications/MAMP/tmp/php/phpNcOmdx" [1]=> string(36) "/Applications/MAMP/tmp/php/phpyWrmMh" } ["error"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["size"]=> array(2) { [0]=> int(33493) [1]=> int(86788) } } }
Notice: Undefined index: fic in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 319
Notice: Undefined index: fic in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 321
Notice: Undefined index: fic in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 326
Notice: Undefined index: fic in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 327
Notice: Undefined index: fic in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 329
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
31 juil. 2020 à 14:26
31 juil. 2020 à 14:26
Et ça continu.........
Tu copies/colles du code bêtement sans essayer de le comprendre... du grand n'importe quoi !
rien que le var_dump de ta variable $_FILES
me fait dire que tu n'as pas apporté les modifications demandées dans ton code html ...
ça ne sert donc à rien de poursuivre tant que ça ne sera pas fait .
Reviens nous voir lorsque tu auras fait les modifications que je t'ai indiqué dans mon précédent message.... et montres nous ensuite :
- Le code du formulaire html modifié
- Le résultat du var_dump une fois que ça sera fait.
NB: Enlèves les modifications que tu viens de faire dans ton code PHP.... tu es totalement à l'ouest !
Tu copies/colles du code bêtement sans essayer de le comprendre... du grand n'importe quoi !
rien que le var_dump de ta variable $_FILES
array(1) { ["fic"]=> array(5) { ["name"]=> array(2) { [0]=> string(11) "unnamed.png" [1]=> string(23) "curriculum_vitae_31.pdf" } ["type"]=> array(2) { [0]=> string(9) "image/png" [1]=> string(15) "application/pdf" } ["tmp_name"]=> array(2) { [0]=> string(36) "/Applications/MAMP/tmp/php/phpNcOmdx" [1]=> string(36) "/Applications/MAMP/tmp/php/phpyWrmMh" } ["error"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["size"]=> array(2) { [0]=> int(33493) [1]=> int(86788) } } }
me fait dire que tu n'as pas apporté les modifications demandées dans ton code html ...
ça ne sert donc à rien de poursuivre tant que ça ne sera pas fait .
Reviens nous voir lorsque tu auras fait les modifications que je t'ai indiqué dans mon précédent message.... et montres nous ensuite :
- Le code du formulaire html modifié
- Le résultat du var_dump une fois que ça sera fait.
NB: Enlèves les modifications que tu viens de faire dans ton code PHP.... tu es totalement à l'ouest !
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
Modifié le 31 juil. 2020 à 15:02
Modifié le 31 juil. 2020 à 15:02
Merci pour les remarques, je suis reparti vers les modifications, en mettant un Var_dump
et voici ce qui s'affiche :
array(1) { ["fic"]=> array(5) { ["name"]=> array(2) { [0]=> string(11) "corona.docx" [1]=> string(17) "Tuto PHP-FPDF.pdf" } ["type"]=> array(2) { [0]=> string(71) "application/vnd.openxmlformats-officedocument.wordprocessingml.document" [1]=> string(15) "application/pdf" } ["tmp_name"]=> array(2) { [0]=> string(36) "/Applications/MAMP/tmp/php/phpChcRmV" [1]=> string(36) "/Applications/MAMP/tmp/php/php2T202L" } ["error"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["size"]=> array(2) { [0]=> int(93319) [1]=> int(200894) } } }
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 315
Notice: Undefined index: size in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 317
Notice: Undefined variable: taille_max in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 318
Notice: Undefined index: type in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 322
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 323
Notice: Undefined index: tmp_name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 325
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 352
Echec de l'upload pour le fichier
Je comprend pas pourquoi il ne reconnait plus les différentes variables
$arr_files = !empty ( $_FILES['fic'] ) ? $_FILES['fic'] : NULL; $dossier = $_SERVER['DOCUMENT_ROOT'] . '/kela/css/'; foreach($arr_files as $files ){ var_dump ( $_FILES ); $uploadfile = $dossier . basename ( $files['name'] ); $img_taille = $files['size']; if ( $img_taille > $taille_max ) { echo "Trop gros !" . PHP_EOL; exit; } $img_type = $files['type']; $img_nom = $files['name']; if ( move_uploaded_file ( $files['tmp_name'], $uploadfile ) ) { //echo "Le fichier est valide, et a été téléchargé avec succès. \n"; //insertion en BDD $sql1 = 'INSERT INTO pdf(ideleve, pdf_nom, pdf_taille, pdf_type, pdf_blob, mois, an) VALUES(:ideleve, :pdf_nom, :pdf_taille, :pdf_type, :pdf_blob, :mois, :an)'; $datas = array(':ideleve' => $id1 , ':pdf_nom' => $img_nom , ':pdf_taille' => $img_taille , ':pdf_type' => $img_type , ':pdf_blob' => $uploadfile , ':mois' => $mois , ':an' => $annee ); try { $req1 = $bdd->prepare ( $sql1 ); $req1->execute ( $datas ); } catch ( Exception $e ) { // en cas d'erreur : echo "<br> Erreur lors de l'enregistrement en BDD ! " . $e->getMessage (); print_r ( $datas ); exit; } } else { echo '<font color="red">Echec de l\'upload pour le fichier <f/ont>' . $files['name'] . "<br/> <br/>"; // Erreur 51 exit; } } ** FORMULAIRE <form enctype="multipart/form-data" action="" method="post" class="p-5 bg-white"> <div class="row form-group"> <div class="col-md-12 mb-3 mb-md-0"> <label class="font-weight-bold" for="fullname">Nom</label> <input type="text" id="fullname" class="form-control" placeholder="" name="nom"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Prenom</label> <input type="text" id="fullname" class="form-control" placeholder="" name="prenom"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Date de Naissance</label> <input type="text" id="fullname" class="form-control" placeholder="(Ex: 25/07/2020)" name="date"> </div> </div> <?php $i =1; while ($i <= $nbre){ echo '<div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname"> </label><input type="hidden" name="MAX_FILE_SIZE" value="250000" /> <input type="file" name="fic[]" size=50 /> </div></div>'; $i++; } ?> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Sexe</label> <select name="genre" id="" class="form-control"> <option value="Garçon">Garçon</option> <option value="Fille">Fille</option> </select> </div> </div> <div class="row form-group"> <div class="col-md-12"> <input type="submit" value="Enregistrer" class="btn btn-primary py-2 px-4"> </div> </div> </form>
et voici ce qui s'affiche :
array(1) { ["fic"]=> array(5) { ["name"]=> array(2) { [0]=> string(11) "corona.docx" [1]=> string(17) "Tuto PHP-FPDF.pdf" } ["type"]=> array(2) { [0]=> string(71) "application/vnd.openxmlformats-officedocument.wordprocessingml.document" [1]=> string(15) "application/pdf" } ["tmp_name"]=> array(2) { [0]=> string(36) "/Applications/MAMP/tmp/php/phpChcRmV" [1]=> string(36) "/Applications/MAMP/tmp/php/php2T202L" } ["error"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["size"]=> array(2) { [0]=> int(93319) [1]=> int(200894) } } }
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 315
Notice: Undefined index: size in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 317
Notice: Undefined variable: taille_max in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 318
Notice: Undefined index: type in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 322
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 323
Notice: Undefined index: tmp_name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 325
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 352
Echec de l'upload pour le fichier
Je comprend pas pourquoi il ne reconnait plus les différentes variables
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
>
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
31 juil. 2020 à 15:33
31 juil. 2020 à 15:33
Je ne sais pas comment te le dire autrement.... je pense qu'il suffirait que tu prennes deux minutes pour lire correctement ce que je t’écris !!!
J'essaye encore une fois... en espérant que cette fois tu vas comprendre :
Toi..... modifier code HTML du formulaire pour pouvoir envoyer PLUSIEURS fichiers dans PLUSIEURS inputFiles
Toi .... nous montrer code HTML MODIFIE
Toi ... essayer de mettre plusieurs fichiers dans ton formulaire puis cliquer sur le bouton submit
Toi.. nous montrer alors le résultat du var_dump
J'essaye encore une fois... en espérant que cette fois tu vas comprendre :
Toi..... modifier code HTML du formulaire pour pouvoir envoyer PLUSIEURS fichiers dans PLUSIEURS inputFiles
Toi .... nous montrer code HTML MODIFIE
Toi ... essayer de mettre plusieurs fichiers dans ton formulaire puis cliquer sur le bouton submit
Toi.. nous montrer alors le résultat du var_dump
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
Modifié le 31 juil. 2020 à 15:59
Modifié le 31 juil. 2020 à 15:59
Dans le formulaire, le nombre de fichier à insérer est dynamique, il depend du nombre de document à fournir précédemment défini par un autre formulaire, voilà pourquoi j'ai mis ceci :
Ainsi l'ensemble du formulaire HTML devient ceci:
Et ça c'est le code d'insertion que tu m'as transmis et que j'ai éxécuté dans mon formulaire
et lorsque j'éxécute le code que tu m'a transmis, le Var_dump me donne ceci:
array(1) { ["fic"]=> array(5) { ["name"]=> array(2) { [0]=> string(11) "corona.docx" [1]=> string(17) "Tuto PHP-FPDF.pdf" } ["type"]=> array(2) { [0]=> string(71) "application/vnd.openxmlformats-officedocument.wordprocessingml.document" [1]=> string(15) "application/pdf" } ["tmp_name"]=> array(2) { [0]=> string(36) "/Applications/MAMP/tmp/php/phpChcRmV" [1]=> string(36) "/Applications/MAMP/tmp/php/php2T202L" } ["error"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["size"]=> array(2) { [0]=> int(93319) [1]=> int(200894) } } }
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 315
Notice: Undefined index: size in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 317
Notice: Undefined variable: taille_max in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 318
Notice: Undefined index: type in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 322
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 323
Notice: Undefined index: tmp_name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 325
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 352
Echec de l'upload pour le fichier
J'espère que c'est maintenant plus clair
<?php $i =1; while ($i <= $nbre){ echo '<div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname"> </label><input type="hidden" name="MAX_FILE_SIZE" value="250000" /> <input type="file" name="fic[]" size=50 /> </div></div>'; $i++; } ?>
Ainsi l'ensemble du formulaire HTML devient ceci:
<form enctype="multipart/form-data" action="" method="post" class="p-5 bg-white"> <div class="row form-group"> <div class="col-md-12 mb-3 mb-md-0"> <label class="font-weight-bold" for="fullname">Nom</label> <input type="text" id="fullname" class="form-control" placeholder="" name="nom"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Prenom</label> <input type="text" id="fullname" class="form-control" placeholder="" name="prenom"> </div> </div> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Date de Naissance</label> <input type="text" id="fullname" class="form-control" placeholder="(Ex: 25/07/2020)" name="date"> </div> </div> <?php $i =1; while ($i <= $nbre){ echo '<div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname"> </label><input type="hidden" name="MAX_FILE_SIZE" value="250000" /> <input type="file" name="fic[]" size=50 /> </div></div>'; $i++; } ?> <div class="row form-group"> <div class="col-md-12"> <label class="font-weight-bold" for="fullname">Sexe</label> <select name="genre" id="" class="form-control"> <option value="Garçon">Garçon</option> <option value="Fille">Fille</option> </select> </div> </div> <div class="row form-group"> <div class="col-md-12"> <input type="submit" value="Enregistrer" class="btn btn-primary py-2 px-4"> </div> </div> </form>
Et ça c'est le code d'insertion que tu m'as transmis et que j'ai éxécuté dans mon formulaire
$arr_files = !empty ( $_FILES['fic'] ) ? $_FILES['fic'] : NULL; $dossier = $_SERVER['DOCUMENT_ROOT'] . '/kela/css/'; foreach($arr_files as $files ){ var_dump ( $_FILES ); $uploadfile = $dossier . basename ( $files['name'] ); $img_taille = $files['size']; if ( $img_taille > $taille_max ) { echo "Trop gros !" . PHP_EOL; exit; } $img_type = $files['type'];// Erreur 316 $img_nom = $files['name']; // Erreur 322 if ( move_uploaded_file ( $files['tmp_name'], $uploadfile ) ) { //// Erreur 324 //echo "Le fichier est valide, et a été téléchargé avec succès. \n"; //insertion en BDD $sql1 = 'INSERT INTO pdf(ideleve, pdf_nom, pdf_taille, pdf_type, pdf_blob, mois, an) VALUES(:ideleve, :pdf_nom, :pdf_taille, :pdf_type, :pdf_blob, :mois, :an)'; $datas = array(':ideleve' => $id1 , ':pdf_nom' => $img_nom , ':pdf_taille' => $img_taille , ':pdf_type' => $img_type , ':pdf_blob' => $uploadfile , ':mois' => $mois , ':an' => $annee ); try { $req1 = $bdd->prepare ( $sql1 ); $req1->execute ( $datas ); } catch ( Exception $e ) { // en cas d'erreur : echo "<br> Erreur lors de l'enregistrement en BDD ! " . $e->getMessage (); print_r ( $datas ); exit; } } else { echo '<font color="red">Echec de l\'upload pour le fichier <f/ont>' . $files['name'] . "<br/> <br/>"; // Erreur 51 exit; } }
et lorsque j'éxécute le code que tu m'a transmis, le Var_dump me donne ceci:
array(1) { ["fic"]=> array(5) { ["name"]=> array(2) { [0]=> string(11) "corona.docx" [1]=> string(17) "Tuto PHP-FPDF.pdf" } ["type"]=> array(2) { [0]=> string(71) "application/vnd.openxmlformats-officedocument.wordprocessingml.document" [1]=> string(15) "application/pdf" } ["tmp_name"]=> array(2) { [0]=> string(36) "/Applications/MAMP/tmp/php/phpChcRmV" [1]=> string(36) "/Applications/MAMP/tmp/php/php2T202L" } ["error"]=> array(2) { [0]=> int(0) [1]=> int(0) } ["size"]=> array(2) { [0]=> int(93319) [1]=> int(200894) } } }
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 315
Notice: Undefined index: size in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 317
Notice: Undefined variable: taille_max in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 318
Notice: Undefined index: type in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 322
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 323
Notice: Undefined index: tmp_name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 325
Notice: Undefined index: name in /Applications/MAMP/htdocs/kela/eleve-ligne.php on line 352
Echec de l'upload pour le fichier
J'espère que c'est maintenant plus clair
modemo2018
Messages postés
231
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
>
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
3 août 2020 à 15:05
3 août 2020 à 15:05
Bonjour, avec le compartiment que j'ai fait, j'espère que j'ai été plus clair en ce qui concerne la difficulté que je rentre