par
lord.anonymous » 02 févr. 2007, 00:15
Je vais te filer un peu de code en vrac, à toi de trier et d'organiser tout ça pour ta page.
Si tu as un formulaire pour uploader tes images, utilise ce bout de code:
//ouverture du fichier temporaire envoyé en mode binaire
$file = fopen ($_FILES["userfile"]["tmp_name"], "rb");
//récupere la taille du fichier temporaire
$size = filesize ($_FILES["userfile"]["tmp_name"]);
//lit le contenu du fichier temporaire
$content = fread ($file, $size);
//protege le contenu par des / /
$userfile = addslashes ($content);
//recupere le nom du fichier
$file_name = $_FILES["userfile"]["name"];
//recupere la taille du fichier
$file_size = $_FILES["userfile"]["size"];
//recupere le type du fichier
$file_type = $_FILES["userfile"]["type"];
if (in_array (strtolower ($file_type), $image_types)) {
//construction et execution de la requète pour ajouter une image
$sql = "INSERT INTO image (image_type, image, image_size, image_name, image_date) ";
$sql.= "VALUES (";
$sql.= "'{$file_type}', '{$userfile}', '{$file_size}', '{$file_name}', NOW())";
@mysql_query ($sql, $conn);
//recharge la page index.php
header("Location:".$_SERVER["PHP_SELF"], true);
exit();
}
Dans une autre page pour afficher tes images issues de la bdd, tu fais ça:
//choisi l'image selectionnée
$sql = "SELECT * FROM image WHERE image_id=".$_GET["iid"];
$result = mysql_query ($sql, $conn);
if (mysql_num_rows ($result)>0) {
$row = @mysql_fetch_array ($result);
//prend le type de l'image
$image_type = $row["image_type"];
//prend le contenu de l'image en mode binaire
$image = $row["image"];
//spécifie l'entete HTTP
header("Content-type: $image_type");
//affiche le contenu de l'image
echo $image;
}
Je vais te filer un peu de code en vrac, à toi de trier et d'organiser tout ça pour ta page.
Si tu as un formulaire pour uploader tes images, utilise ce bout de code:
[php]
//ouverture du fichier temporaire envoyé en mode binaire
$file = fopen ($_FILES["userfile"]["tmp_name"], "rb");
//récupere la taille du fichier temporaire
$size = filesize ($_FILES["userfile"]["tmp_name"]);
//lit le contenu du fichier temporaire
$content = fread ($file, $size);
//protege le contenu par des / /
$userfile = addslashes ($content);
//recupere le nom du fichier
$file_name = $_FILES["userfile"]["name"];
//recupere la taille du fichier
$file_size = $_FILES["userfile"]["size"];
//recupere le type du fichier
$file_type = $_FILES["userfile"]["type"];
if (in_array (strtolower ($file_type), $image_types)) {
//construction et execution de la requète pour ajouter une image
$sql = "INSERT INTO image (image_type, image, image_size, image_name, image_date) ";
$sql.= "VALUES (";
$sql.= "'{$file_type}', '{$userfile}', '{$file_size}', '{$file_name}', NOW())";
@mysql_query ($sql, $conn);
//recharge la page index.php
header("Location:".$_SERVER["PHP_SELF"], true);
exit();
}
[/php]
Dans une autre page pour afficher tes images issues de la bdd, tu fais ça:
[php]//choisi l'image selectionnée
$sql = "SELECT * FROM image WHERE image_id=".$_GET["iid"];
$result = mysql_query ($sql, $conn);
if (mysql_num_rows ($result)>0) {
$row = @mysql_fetch_array ($result);
//prend le type de l'image
$image_type = $row["image_type"];
//prend le contenu de l'image en mode binaire
$image = $row["image"];
//spécifie l'entete HTTP
header("Content-type: $image_type");
//affiche le contenu de l'image
echo $image;
}[/php]