Insertion de PDF en PHP

Ce topic a été résolu
FireTrigger

FireTrigger Le 21 août 2016 à 21:44 (Édité le 25 janvier 2019 à 17:52)

Bonjour, Alors voilà, j'aimerais que la personne (dans mon cas l’administrateur) puisse insérer son fichier PDF dans un formulaire par exemple, et ensuite que ça l'affiche sur la page pour que les membres puisse le télécharger. En gros pour faire plus claire: L'admin parcours ces fichiers, sélectionne le PDF, clique sur "envoyer", ensuite ça l'affichera pour lui et les membres, et enfin les membres clique dessus et ça leur télécharge sur l'ordinateur. Sachant que je sais déjà comment faire pour que ça soit que l'admin, j'ai juste besoin de savoir pour faire le formulaire. 
Merci d'avance ! 
TheOldNoob

TheOldNoob Le 21 août 2016 à 22:13

Salut jeune Primdawan !
Bienvenue sur le forum pour commencer.

Alors, je sais pas quel est ton niveau de code, donc je vais t'induire vers le coté lumineux du codeur 😉

Bon, pour commencé, tu va avoir plein de php a faire, plein de page,

La première, qui utilisera INSERT INTO afin d'inseré ton fichier

Le cours openclassroom se trouve ici : https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/transmettre-des-donnees-avec-les-formulaires

Il faudra evidement faire une page pour édité (UPDATE) ou suprimé (DELETE) en cas de besoin se fichier.

Pour le coté affichage dans la partie visible pour le client, c'est assez simple, il faut créer un lien avec la balise <a> et lui indiquer le lien de ton fichier.

Je te laisse commencer a codé, si tu a des problème ou des questions, n'hesite pas a revenir
FireTrigger

FireTrigger Le 21 août 2016 à 22:28

Ah bonjour et merci de la réponse, heu oui je code et le site je l'ai déjà finis (espaces membres, profil etc...), en faite je cherche juste à savoir comment mettre "en ligne" sur ma page le fichier PDF pour qu'ensuite les autres puisse le télécharger 😀 . Si tu peux m'aider ça serais géniale !
TheOldNoob

TheOldNoob Le 22 août 2016 à 00:23

Ok, donc tu sais metre un fichier en ligne en utilisent le move_uploaded_file? si oui, tu a fait 90% du job

Une fois le fichier en ligne, héberger sur ton serveur, dans le répertoire de ton choix, il ne te reste plus qu'a utilisé la balise <a href="lien de ton pdf">ton text ou ton icon </a>
Balatharas

Balatharas Le 22 août 2016 à 10:56

Hello, comme a dit TheHoldNoob, c'est le lien de ton PDF mais direct si tu vois ce que je veux dire.
On sait jamais 😜
FireTrigger

FireTrigger Le 22 août 2016 à 12:09

Ah ok merci pour la balise mais en faite il est là mon problème, c'est que je ne sais pas comment faire pour traiter le fichier. Ducoup je vous montre mon formulaire 
<form action="traitement.php" method="POST" enctype="multipart/form-data">
   <input type="hidden" name="MAX_FILE_SIZE" value="10485760" />
   <input name="filepdf" type="file">
   <input type="submit" value="Upload" name="submit_pdf">
</form>
Voilà et j'aimerais savoir quoi mettre dans "traitement.php" pour des fichiers uniquement PDF, merci 😀
FireTrigger

FireTrigger Le 22 août 2016 à 13:56

Attendez enfaite je crois que j'ai trouvé, je vais suivre le TUTO de Boris pour insérer un Avatar, c'est la même manip nan ?
TheOldNoob

TheOldNoob Le 23 août 2016 à 05:16

C'est exactement la même manip, juste le type MIME qui sera pas la même.
FireTrigger

FireTrigger Le 23 août 2016 à 11:43

eu bah j'ai écrit ça et ça marche correctement 
if (isset($_FILES['filepdf']) AND !empty($_FILES['filepdf']['name'])) {
      $tailleMax = 10485760;
      $extensionsValides = array('pdf');
         if($_FILES['filepdf']['size'] <= $tailleMax) {
               $extensionUpload = strtolower($_FILES['filepdf']['name']);
                        $chemin = "pdf/".$extensionUpload;
                        $resultat = move_uploaded_file($_FILES['filepdf']['tmp_name'], $chemin);
                           if ($resultat) {
                                 $titre_com = htmlspecialchars($_POST['titre_com']);
                                 $contenu_com = htmlspecialchars($_POST['contenu_com']);
                                 $updatepdf = $bdd->prepare("INSERT INTO commentaires (titre, contenu, date_times_publication, chemin_fichier) VALUES (?, ?, NOW(), ?)");
                                 $updatepdf->execute(array(
                                    $titre_com, 
                                    $contenu_com,
                                    $chemin));
C'est bon du coup ?
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte