comment je peux modifier mon script pour au lieux d'aperçu une seul image blob il affiche tous les images blob dans une tableau.
*SQL de base de donner "test"
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TABLE `images` ( `img_id` INT NOT NULL AUTO_INCREMENT , `img_nom` VARCHAR( 50 ) NOT NULL , `img_taille` VARCHAR( 25 ) NOT NULL , `img_type` VARCHAR( 25 ) NOT NULL , `img_desc` VARCHAR( 100 ) NOT NULL , `img_blob` BLOB NOT NULL , PRIMARY KEY ( `img_id` ) )
* les pages php
index.php
transfert.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 <html> <head> <title>Stock d'images</title> </head> <body> <?php include ("transfert.php"); if ( isset($_FILES['fic']) ) { transfert(); } ?> <h3>Envoi d'une image</h3> <form enctype="multipart/form-data" action="#" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="250000" /> <input type="file" name="fic" size=50 /> <input type="submit" value="Envoyer" /> </form> <p><a href="liste.php">Liste</a></p> </body> </html>
liste.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 <?php function transfert () { $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; } $img_type = $_FILES['fic']['type']; $img_nom = $_FILES['fic']['name']; include ("connexion.php"); $img_blob = file_get_contents ($_FILES['fic']['tmp_name']); $req = "INSERT INTO images (". "img_nom, img_taille, img_type, img_blob ". ") VALUES (". "'".$img_nom."', ". "'".$img_taille."', ". "'".$img_type."', ". // N'oublions pas d'échapper le contenu binaire "'".addslashes ($img_blob)."') "; $ret = mysql_query ($req) or die (mysql_error ()); return true; } } ?>
apercu.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 <html> <head><title>Stock d'images</title></head> <body> <?php include ("connexion.php"); $req = "SELECT img_nom, img_id ". "FROM images ORDER BY img_nom"; $ret = mysql_query ($req) or die (mysql_error ()); while ( $col = mysql_fetch_row ($ret) ) { echo "<a href=\"apercu.php?id=".$col[1]. "\">".$col[0]."</a><br />"; } ?> </body> </html>
connexion.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 <?php if ( isset($_GET['id']) ) { $id = intval ($_GET['id']); include ("connexion.php"); $req = "SELECT img_id, img_type, img_blob ". "FROM images "; $ret = mysql_query ($req) or die (mysql_error ()); $col = mysql_fetch_row ($ret); if ( !$col[0] ) { echo "Id d'image inconnu"; } else { header ("Content-type: ".$col[1]); echo $col[2]; } } else { echo "Mauvais id d'image"; } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <?php $hote = 'localhost'; $base = 'test'; $user = 'root'; $pass = ''; $cnx = mysql_connect ($hote, $user, $pass) or die (mysql_error ()); $ret = mysql_select_db ($base) or die (mysql_error ()); ?>
Partager