Insertion de plusieurs PDF dans une base de donnée
Résolu
modemo2018
Messages postés
226
Date d'inscription
Statut
Membre
Dernière intervention
-
modemo2018 Messages postés 226 Date d'inscription Statut Membre Dernière intervention - 6 août 2020 à 10:07
modemo2018 Messages postés 226 Date d'inscription Statut Membre Dernière intervention - 6 août 2020 à 10:07
A voir également:
- Formulaire insertion données mysql php pdf
- Whatsapp formulaire opposition - Guide
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Formulaire de réclamation facebook - Guide
- Save as pdf - Télécharger - Bureautique
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
12 réponses
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.
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 ?
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; } } } } }
ç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 !
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
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 ?
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) } }
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); }
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 !
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
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.
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 )
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 ...
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'];
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
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; } }
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é...
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
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 !
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
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
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