Upload/download de fichier dans/de la BD
honisuka
-
honisuka -
honisuka -
Bonjour,
s'il vous plait je voudrais enregistrer des fichiers(pdf,doc,excel...)dans ma BD via un formulaire mais je ne sais comment faire mon fichier de traitemt.
voici ce que j'ai:
<form action="info2.php" method="post">
<tr>
..............
</tr>
<tr>
...............................
</tr>
<tr>
<td height="32" colspan="2" class="entete">
CONSTITUTION DU DOSSIER</td>
</tr>
<tr>
.....................
</tr>
<tr>
<td height="28" class="to">Copie de l'acte de naissance</td>
<td class="reponse"><input type="file" name="naissance"></td>
</tr>
<tr>
...........................
</tr>
<tr>
<td height="26" class="to">Copie du diplôme le plus élevé </td>
<td class="reponse"><input type="file" name="diplome"></td>
</tr>
<tr>
.........................
</tr>
<tr>
<td height="26" class="to">Curriculum Vitae(CV) </td>
<td class="reponse"><input type="file" name="cv"></td>
</tr>
<tr>
......................
</tr>
<tr>
<td height="26" class="to">Photo(4*4)</td>
<td class="reponse"><input type="file" name="photo"></td>
</tr>
<tr>
........................
</tr>
<tr>
<td height="28" class="to">Reçu des frais d'étude </td>
<td class="reponse"><input type="file" name="frais"></td>
</tr>
<tr>
..........................
</tr>
<tr>
<td height="51" class="to">
<button type="submit" class="btn" onclick="javascript: return verif();" class="btn">Terminé</button>
</td>
<td class="reponse"> </td>
</tr>
<tr>
...............................
</tr>
</form>
et mon fichier de récupération et de sauvegarde:
<?php
$naissance=$_POST['naissance'];
$diplome=$_POST['diplome'];
$cv=$_POST['cv'];
$frais=$_POST['frais'];
$photo=$_POST['photo'];
$email='nsimi@yahoo.fr';
//Sauvegarde des données dans la BD cisco
$connexion=mysql_connect('localhost','root','') or die ('Erreur de connexion à la BD');
mysql_select_db('aca_cisco') or die ('Sélection BD impossible');
$requete1=mysql_query("insert into dossier (copie_acte,copie_dip,cv,photo,frais_etu,email_pos) values ('$naissance','$diplome','$cv','$photo','$frais','$email')") or die(mysql_error());
mysql_close();
?>
mais avec ça aparament je n'arriv qu'a sauvegarder le nom des fichiers
que faire et je voudrais ensuite pouvoir les télécharger
s'il vous plait je voudrais enregistrer des fichiers(pdf,doc,excel...)dans ma BD via un formulaire mais je ne sais comment faire mon fichier de traitemt.
voici ce que j'ai:
<form action="info2.php" method="post">
<tr>
..............
</tr>
<tr>
...............................
</tr>
<tr>
<td height="32" colspan="2" class="entete">
CONSTITUTION DU DOSSIER</td>
</tr>
<tr>
.....................
</tr>
<tr>
<td height="28" class="to">Copie de l'acte de naissance</td>
<td class="reponse"><input type="file" name="naissance"></td>
</tr>
<tr>
...........................
</tr>
<tr>
<td height="26" class="to">Copie du diplôme le plus élevé </td>
<td class="reponse"><input type="file" name="diplome"></td>
</tr>
<tr>
.........................
</tr>
<tr>
<td height="26" class="to">Curriculum Vitae(CV) </td>
<td class="reponse"><input type="file" name="cv"></td>
</tr>
<tr>
......................
</tr>
<tr>
<td height="26" class="to">Photo(4*4)</td>
<td class="reponse"><input type="file" name="photo"></td>
</tr>
<tr>
........................
</tr>
<tr>
<td height="28" class="to">Reçu des frais d'étude </td>
<td class="reponse"><input type="file" name="frais"></td>
</tr>
<tr>
..........................
</tr>
<tr>
<td height="51" class="to">
<button type="submit" class="btn" onclick="javascript: return verif();" class="btn">Terminé</button>
</td>
<td class="reponse"> </td>
</tr>
<tr>
...............................
</tr>
</form>
et mon fichier de récupération et de sauvegarde:
<?php
$naissance=$_POST['naissance'];
$diplome=$_POST['diplome'];
$cv=$_POST['cv'];
$frais=$_POST['frais'];
$photo=$_POST['photo'];
$email='nsimi@yahoo.fr';
//Sauvegarde des données dans la BD cisco
$connexion=mysql_connect('localhost','root','') or die ('Erreur de connexion à la BD');
mysql_select_db('aca_cisco') or die ('Sélection BD impossible');
$requete1=mysql_query("insert into dossier (copie_acte,copie_dip,cv,photo,frais_etu,email_pos) values ('$naissance','$diplome','$cv','$photo','$frais','$email')") or die(mysql_error());
mysql_close();
?>
mais avec ça aparament je n'arriv qu'a sauvegarder le nom des fichiers
que faire et je voudrais ensuite pouvoir les télécharger
A voir également:
- Upload/download de fichier dans/de la BD
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
1 réponse
Bonjour
En effet, on ne récupère pas les fichier par des $_POST['naissance'], $_POST['diplome'] etc...
Il faut mettre dans le <FORM> un enctype="multipart/form-data"
Ensuite, tu récupères pour chaque fichier un $_FILES['naissance'],$_FILES['diplome'], ...
Mais ça n'est pas encore ton fichier. Chacune de ces variables, est un tableau avec les index ['name'], ['tmp_name'] etc.
Le principe consiste à recopier le fichier $_FILES['naissance']['tmp_name'] dans un autre répertoire, sous un nom dérivé de $_FILES['naissance']['name'] où il sera stocké. Dans ta base, tu n'enregistres que les chemins vers les fichiers que tu as sauvegardés.
Tout est très bien expliqué dans la doc PHP : https://www.php.net/manual/fr/features.file-upload.php
En effet, on ne récupère pas les fichier par des $_POST['naissance'], $_POST['diplome'] etc...
Il faut mettre dans le <FORM> un enctype="multipart/form-data"
Ensuite, tu récupères pour chaque fichier un $_FILES['naissance'],$_FILES['diplome'], ...
Mais ça n'est pas encore ton fichier. Chacune de ces variables, est un tableau avec les index ['name'], ['tmp_name'] etc.
Le principe consiste à recopier le fichier $_FILES['naissance']['tmp_name'] dans un autre répertoire, sous un nom dérivé de $_FILES['naissance']['name'] où il sera stocké. Dans ta base, tu n'enregistres que les chemins vers les fichiers que tu as sauvegardés.
Tout est très bien expliqué dans la doc PHP : https://www.php.net/manual/fr/features.file-upload.php
je prendrai la peine de le lire
et pourrais tu me proposer un script pour le téchargement depuis le serveur
l'inverse quoi!