Enregistrer image sur base de données

Signaler
Messages postés
8
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
3 août 2012
-
Messages postés
8
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
3 août 2012
-
bonjour mes amis
[i]j'ai un problème sur le code pour enregistrer image sur base de données
mon code ne marche pas.
merci d'avance pour m'aider /i
----------------------------------
base de donne
---------------
CREATE TABLE upload (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(30) NOT NULL,
type VARCHAR(30) NOT NULL,
size INT NOT NULL,
content MEDIUMBLOB NOT NULL,
PRIMARY KEY(id)
);
-----------------------
page upload.htm
------------------
<form method="post" action="send.php" enctype="multipart/form-data">

,


</form>
----------------------------
page send.php
------------------------------
<?php
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0)
{
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];

$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);

if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}



$name = "root";
$pass = "";
$dbname = "upload";
$host = "localhost";
//connect with mysql
$link = mysql_connect($host,$name,$pass);
mysql_select_db($dbname,$link);



$query = "INSERT INTO upload (name, size, type, content ) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";

mysql_query($query) or die(mysql_error());


echo "
File $fileName uploaded
";
}
?>
-------------------------------------------------
download1.php
---------------------
<html>
<head>
<title>Download File From MySQL</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>


<?php
$name = "root";
$pass = "";
$dbname = "upload";
$host = "localhost";
//connect with mysql
$link = mysql_connect($host,$name,$pass);
mysql_select_db($dbname,$link);


$query = "SELECT id, name FROM upload";
$result = mysql_query($query) or die('Error, query failed');
if(mysql_num_rows($result) == 0)
{
echo "Database is empty
";
}
else
{
while(list($id, $name) = mysql_fetch_array($result))
{

echo "$name
";
}
}
?>

</html>
-------------------------------------
download2.php
---------------------------------------
<?php
if(isset($_GET['id']))
{
// if id is set then get the file with the id from database

$name = "root";
$pass = "";
$dbname = "upload";
$host = "localhost";
//connect with mysql
$link = mysql_connect($host,$name,$pass);
mysql_select_db($dbname,$link);

$id = $_GET['id'];
$query = "SELECT name, type, size, content " .
"FROM upload WHERE id = '$id'";

$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);

header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: attachment; filename=$name");
echo $content;


exit;
}

?>
--------------------------------

2 réponses

Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
Bonjour,

En général, on évite de mettre les images directement dans la BDD, cela l'alourdit et la ralenti.

Il est plus courant de stocker l'image dans l'espace du site, puis de faire un lien vers l'image en question.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Messages postés
8
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
3 août 2012

bonjour mes amis
excuser moi
le code ça marche parce que je modifier le nom de base de donne
bon chance a tous