Bonjour,
Je dispose de code qui me permet, uploader des fichier dans des dossier, par la même occasion j'utilise une base mysql qui enregistre le chemin du fichier, et la description du fichier.
Je dispose aussi d'un petit moteur de recherche qui tape dans la base mysql, qui affiche les résultats trouvés,normal.
J'affiche les chemins des fichiers sous forme de lien. Mais, il y a un mais il fallait bien, quand je clic sur les liens rien ne se passe, si je fais clic droit enregistrer sous, je peux enregistrer le fichier voulu.
Et voici les codes:
-upload.php
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 <?php if( isset($_POST['upload']) ) // si formulaire soumis { $content_dir = $_POST['rep']; // dossier où sera déplacé le fichier $tmp_file = $_FILES['fichier']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { exit("Le fichier est introuvable"); } // on vérifie l'extension $type_file = $_FILES['fichier']['type']; //si l'extension de fichier ne correspond pas aux critères de sauvegarder , affichage du message ci-dessous. if( !strstr($type_file, 'application/msword') && !strstr($type_file, 'application/pdf') && !strstr($type_file, 'application/vnd.openxmlformats-officedocument.wordprocessingml.document') && !strstr($type_file, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') && !strstr($type_file, 'application/vnd.ms-excel') && !strstr($type_file, 'application/vnd.ms-powerpoint') ) { exit("Vous devez sauvegarger un fichier de type : .doc, .docx, .pdf, .ppt, .pptx, .xls, .xlsx) "); } // on copie le fichier dans le dossier de destination $name_file = $_FILES['fichier']['name']; if( move_uploaded_file($tmp_file, $content_dir . $name_file) && isset($_POST['description']) ) //envoie le chemin du lien dans la base { $commentaire = $_POST['description']; $chemin=($content_dir . $name_file); $commentaire=addslashes($commentaire); $chemin=addslashes($chemin); if ($chemin!=NULL && $commentaire!=NULL) { mysql_connect("localhost","erdoganak","ea"); mysql_select_db("entreprise"); mysql_query("INSERT INTO pieces_jointes (description, chemin) VALUES('$commentaire' , '$chemin')") or die('l\'insertion du lien a échoué'.mysql_error()); mysql_close(); } } else { exit("Impossible de copier le fichier dans $content_dir"); } } /*// 1) ENREGISTREMENT d'un commentaire if (isset($_POST['description'])) { $commentaire = $_POST['description']; $commentaire=addslashes($commentaire); if ($commentaire!=NULL) { //mysql_connect("localhost","root"); //mysql_select_db("test"); mysql_connect("localhost","erdoganak","ea"); mysql_select_db("entreprise"); //pour éviter les doublons //$reponse=mysql_query("SELECT pseudo,commentaire FROM brasilia WHERE id_photo=$id_photo ORDER BY ID DESC limit 0,1") or die(mysql_error()); //$donnee=mysql_fetch_array($reponse); echo "Insertion effectué " ; mysql_query("INSERT INTO pieces_jointes (description) VALUES(',' '$commentaire')") or die('l\'insertion a échoué'.mysql_error()); mysql_close(); } else { echo "veuillez remplir les champs svp ( pseudo, note et commentaire )"; } } */ ?> <html> <form method="post" enctype="multipart/form-data" action="upload.php"> <p> <input type="file" name="fichier" size="33"><br /><br /> <textarea name="description" id="description"></textarea><br /><br /> <input type="submit" name="upload" value="Envoyer"><br /> </p> <p> <select name="rep"> <option value="file:///c:/wamp/www/test1/"> test1 </option> <!--a remplacer par l'adresse des dossiers --> <option value="file:///c:/test2/"> test2 </option> <option value="file:///c:/test3/"> test3 </option> </select> </p> <p> <input type="button" value="Retour" name="retour1" onClick="window.location='index.php?do=login'"> </p> </form> </html>
-search.php
Merci Bien,
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142 <?php $hostname_logon = "localhost" ; $username_logon = "erdoganak; $password_logon = "ea"; $database_logon = "entreprise" ; //connexion base de donnée $connections = mysql_connect($hostname_logon, $username_logon, $password_logon) or die ( "Impossible de se connecter a la base de donnée" ); //selection de la base de donnée mysql_select_db($database_logon) or die ( "Impossible de selectionner la base!" ); //nombre de resultat par page $limit = 10; // variable de recherche obtenue par url $Mot = $_POST['Mot'] ; //trim whitespace from the stored variable $trimmed = trim($Mot ); //separation des mots-clés $trimmed_array = explode(" ",$trimmed); // vérification, si vide affichage message if ($trimmed == "") { $resultmsg = "<p>Search Error</p><p>Veuillez remplir le champ pour effectuer la recherche...</p>" ; } // verification pour la recherche if (!isset($Mot )){ $resultmsg = "<p>Search Error</p><p>Aucun paramètre! </p>" ; } // Build SQL Query for each keyword entered foreach ($trimmed_array as $trimm){ // EDIT HERE and specify your table and field names for the SQL query $query = "SELECT * FROM pieces_jointes WHERE numero LIKE '%$trimm%' OR chemin like '%$trimm%' OR description like '%$trimm%' ORDER BY numero DESC" ; // Execute the query to get number of rows that contain search kewords $numresults=mysql_query ($query); $row_num_links_main =mysql_num_rows ($numresults); // voyons si 's' a bien été passé, si non 0 est utilisé. if (empty($s)) { $s=0; } // now let's get results. $query .= " LIMIT $s,$limit" ; $numresults =mysql_query ($query) or die ( "Impossible d'executer la requête" ); $row= mysql_fetch_array ($numresults); //Ajout d'un id à chaque élément qui contient le mot clé, et ainsi éviter d'afficher les résultats double do{ $adid_array[] = $row[ 'numero' ]; }while( $row= mysql_fetch_array($numresults)); } //end foreach if($row_num_links_main == 0 && $row_set_num == 0){ $resultmsg = "<p>Résultat de la recherche pour : ". $trimmed."</p><p>Aucun résultat pour votre recherche</p>" ; } //delete duplicate record id's from the array. To do this we will use array_unique function $tmparr = array_unique($adid_array); $i=0; foreach ($tmparr as $v) { $newarr[$i] = $v; $i++; } // Vous pouvez maintenant afficher les résultats renvoyés. Mais d'abord, nous allons afficher le formulaire de recherche ?> <?php // affiche la recherche de la personne if( isset ($resultmsg)){ echo $resultmsg; exit(); }else{ echo "Résultat de la recherche pour : " . $Mot ; } foreach($newarr as $value){ // Renseignement de la table et du champ pour la requetes sql $query_value = "SELECT * FROM pieces_jointes WHERE numero = '$value'"; $num_value=mysql_query ($query_value); $row_linkcat= mysql_fetch_array ($num_value); $row_num_links= mysql_num_rows ($num_value); //Nous allons mettre les mots retrouvés en gras pour cela nous utilisons la fonction preg_replace, Remplacement des champs $titlehigh = preg_replace ( "'($Mot )'si" , "<b> /*/</b>" , $row_linkcat[ 'numero' ] ); $linkhigh = preg_replace ( "'($Mot )'si" , "<b> /*/</b>" , $row_linkcat[ 'description' ] ); $linkdesc = preg_replace ( "'($Mot )'si" , "<b> /*/</b>" , $row_linkcat[ 'chemin' ] ); foreach($trimmed_array as $trimm){ if($trimm != 'b' ) { $titlehigh = preg_replace( "'($trimm)'si" , "<b> /*/</b>" , $titlehigh); $linkhigh = preg_replace( "'($trimm)'si" , "<b> /*/</b>" , $linkhigh); $linkdesc = preg_replace( "'($trimm)'si" , "<b> /*/</b>" , $linkdesc); } //end highlight } ?> <p> <?php echo $row_linkcat[ 'numero' ]; ?></br> <?php echo $row_linkcat[ 'description' ]; ?></br> <?php echo '<a href="'.$row_linkcat['chemin'].'">'.$row_linkcat['chemin'].'</a>';?> </p> <?php } //fin de $trimmed_array if($row_num_links_main > $limit){ // resultat dans une nouvelle page if ($s>=1) { // n'affiche rien si 's' vaut '0' $prevs=($s-$limit); echo "<div align='left'><a href='$PHP_SELF?s=$prevs&q=$Mot &catid=$catid'>Previous " .$limit. "</a></div>"; } // vérification de la page $slimit =$s+$limit; if (!($slimit >= $row_num_links_main) && $row_num_links_main!=1) { // not last page so display next link $n=$s+$limit; echo "<div align='right'><a href='$PHP_SELF?s=$n&q=$Mot &catid=$catid'>Next " .$limit. "</a></div>"; } } //fin de $newarr ?>
Partager