Salut
J'aime savoir s'il existe un code php qui permettre de stocker, dans la base de données, l'url d'un fichier (txt, pdf, doc) après son upload.
Les fichiers uploadés sont stockés dans un répertoire "upload".
Merci d'avance.
Salut
J'aime savoir s'il existe un code php qui permettre de stocker, dans la base de données, l'url d'un fichier (txt, pdf, doc) après son upload.
Les fichiers uploadés sont stockés dans un répertoire "upload".
Merci d'avance.
Un peu de lecture :
http://antoine-herault.developpez.co...p/upload/#L3.0
Une fois compris ça, tu as juste a insérer dans ta base les données que tu veux.
Merci pour la réponse,mon probléme n'est pas au niveau de l'upload,mon script d'upload marche bien
Mais je veux juste savoir comment faire pour envoyer l'url du fichier uploadé,dans un champs à la bd,lorsque la personne envoie son fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116 <?php if(isset($_FILES['photo'])) { // params unset($erreur); $extensions_ok = array('pdf', 'txt', 'docx', 'doc'); $taille_max = 1000000; $dest_dossier = 'C:/Program Files/EasyPHP 2.0b1/www/PFE/upload/'; // utilisez également des slashes sous windows // vérifications if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) ) { $erreur = 'Veuillez sélectionner un fichier de type pdf, txt,doc ou docx !'; } elseif( file_exists($_FILES['photo']['tmp_name']) and filesize($_FILES['photo']['tmp_name']) > $taille_max) { $erreur = 'Votre fichier est assez volumineux !'; } // copie du fichier if(!isset($erreur)) { $dest_fichier = basename($_FILES['photo']['name']); // formatage nom fichier // enlever les accents $dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'); // remplacer les caracteres autres que lettres, chiffres et point par _ $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier); // copie du fichier move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier.$dest_fichier); } } ?> <html> <body> <!-- Erreur ? --> <?php if(isset($erreur)){ echo '<p>', $erreur ,'</p>'; } ?> <!-- Formulaire --> <!-- Attention, ne de ne pas oublier le enctype="multipart/form-data" --> <form method="POST" action="upload.php" enctype="multipart/form-data"> <!-- Limiter la taille des fichiers à 500Ko --> <input type="hidden" name="MAX_FILE_SIZE" value="5000000" /> <fieldset> <legend>Envoi de fichiers</legend> <!-- champs d'envoi de fichier, de type file --> <p> <label for="photo">Papier :</label> <input type="file" name="photo" /></p> <!-- bouton d'envoi --> <p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p> </legend> </fieldset> </form> </body> </html>
Tu veux dire que tu ne sais pas faire une requête ?
le plus simple c'est de contraindre le nom du fichier lors de l'upload surtout que c'est toi qui défini son emplacement lors du stockage;
et de rechercher son existence pour le récupérer.
LOL,non,même si je suis un peu nul en php ,mais je vois pas que le problème est au niveau de la requête,mais au niveau du variable qui va prendre l'url ,qu'est ce que cette variable doit avoir pour permettre d'envoyer à un champs dans la base de données l'url de chaque fichier uploadé ?
Tu n'est très clair malheureusement.Envoyé par loviso
Pour la Bdd, enregistre juste leur nom, celui que tu as formaté contenu dans : $dest_fichier
Ensuite, ça dépend de ce tu compte faire avec ces fichiers, mais vu que leur chemin est connu, aucun problème, suffit juste de récupérer leur noms dans la Bdd.
Peut être que ton problème est de savoir comment récupérer tel fichier plutôt qu'un autre. Ici, tout dépend comment est structuré cette table qui reçois les noms des fichiers, comment sont ils liés aux autres tables.
Bref, je ne vois pas bien où se situe exactement ton problème.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager