Sim*_*ode 1 php mysql database image
这是我上传的代码..但它不起作用..我使用了file_get_contents函数..上传图片
</head>
<body>
<form action="upload1.php" method="POST" enctype="multipart/form-data">
File:
<input type="file" name="image"/>
<input type="submit" value="Upload image" />
</form>
<?php
//connect to the database
$con = mysql_connect("localhost","root", "");
if(!$con)
{
die('Could not connect to the database:' . mysql_error());
echo "ERROR IN CONNECTION";
}
mysql_select_db("imagedatabase", $con);
//file properties
echo $file = $_FILES['image']['tmp_name'];
echo '<br />';
if(!isset($file))
echo "Please select an image";
else
{
$image = file_get_contents($_FILES['image']['tmp_name']);
echo $image_name = addslashes($_FILES['image']['name']); echo '<br \>';
echo $image_size = getimagesize($_FILES['image']['tmp_name']);
if($image_size == FALSE)
echo "That's not an image";
else
{
$insert = mysql_query("INSERT INTO images (image) VALUES ($image)",$con);
if(!$insert)
echo "Problem uploding the image. Please check your database";
else
{
$last_id = mysql_insert_id();
echo "Image Uploaded. <p /> Your image: <p /><img src=display.php? id=$last_id>";
}
}
}
mysql_close($con);
?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
并且检索/显示的代码就是这样的..
<?php
//connect to the database
mysql_connect("localhost","root", "") or die(mysql_error());
mysql_select_db("mydb") or die(mysql_error());
//requesting image id
$id = addslashes($_REQUEST['id']);
$image = mysql_query("SELECT * FROM images WHERE id = $id");
$image = mysql_fetch_assoc($image);
$image = $image['image'];
header("Conten-type: image/jpeg");
echo $image;
mysql_close($connect);
?>
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为"imagedatabase"的数据库和一个表
将图像存储在数据库中是个坏主意.在数据库中存储一个路径,通过.htaccess关闭带有图像的目录,并在硬盘上使用它.
为什么不应该在DB中存储文件?
如果您将使用DB来存储图像您将拥有:
| 归档时间: |
|
| 查看次数: |
13293 次 |
| 最近记录: |