MySQL上传图片并实现显示功能(mysql上传图片后显示)
MySQL上传图片并实现显示功能
MySQL是一个非常流行的关系型数据库管理系统。它使用SQL语句来操作数据库,能够存储和管理各种类型的数据。其中,图片是一种非常常见的数据类型。本文将介绍如何通过MySQL上传图片,并实现图片的显示功能。
步骤一:创建数据库
我们需要创建一个数据库。我们可以使用MySQL客户端,或者通过phpMyAdmin等工具来创建数据库。假设我们创建了一个名为“test”的数据库。
步骤二:创建表
接下来,我们需要创建一个表来存储图片。我们可以使用以下的SQL语句来创建一个名为“images”的表。
CREATE TABLE images (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
image BLOB NOT NULL
);
其中,id是自增长的主键。name是图片的名称。image是存储图片数据的字段,类型为BLOB。
步骤三:上传图片
现在,我们可以通过以下代码来上传图片。
$servername = “localhost”;
$username = “username”;
$password = “password”;
$dbname = “test”;
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die(“Connection fled: ” . $conn->connect_error);
}
// 检查是否有数据上传
if(isset($_POST[“submit”])) {
$name = $_FILES[‘image’][‘name’];
$target_dir = “uploads/”;
$target_file = $target_dir . basename($_FILES[“image”][“name”]);
// 将图片存储在服务器上
move_uploaded_file($_FILES[“image”][“tmp_name”], $target_file);
// 将图片的数据插入到数据库中
$image = addslashes(file_get_contents($target_file));
$sql = “INSERT INTO images (name, image) VALUES (‘$name’, ‘$image’)”;
if ($conn->query($sql) === TRUE) {
echo “Image uploaded successfully”;
} else {
echo “Error: ” . $sql . “
” . $conn->error;
}
}
// 关闭连接
$conn->close();
?>
在上面的代码中,我们首先建立了数据库连接。然后我们检查是否有数据上传。如果有,我们将图片保存在服务器上,并将图片的数据插入到数据库中。最后关闭连接。
步骤四:显示图片
现在,我们可以通过以下代码来显示图片。
$servername = “localhost”;
$username = “username”;
$password = “password”;
$dbname = “test”;
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die(“Connection fled: ” . $conn->connect_error);
}
// 从数据库中获取图片数据
$sql = “SELECT id, name, image FROM images”;
$result = $conn->query($sql);
// 输出数据
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo ‘‘;
}
} else {
echo “0 results”;
}
// 关闭连接
$conn->close();
?>
在上面的代码中,我们首先建立了数据库连接。然后,我们从数据库中获取所有图片的数据。我们使用base64_encode()函数将图片的数据转换为Base64编码的字符串,并将其作为img标签的src属性的值进行显示。
总结
本文介绍了如何通过MySQL上传图片,并实现图片的显示功能。我们可以使用MySQL来存储所有类型的数据,而不仅仅是文本数据。这个方法可以在许多不同的情况下使用,例如网站设计、地图制作、虚拟现实和游戏开发等。