Rumah > Artikel > pangkalan data > MySQL mencipta jadual gambar untuk melaksanakan muat naik gambar dan fungsi pengurusan
MySQL mencipta jadual gambar untuk melaksanakan muat naik gambar dan fungsi pengurusan
Dalam banyak aplikasi web, muat naik gambar dan fungsi pengurusan adalah salah satu keperluan yang sangat biasa. Pangkalan data MySQL ialah pangkalan data hubungan yang biasa digunakan yang boleh digunakan untuk menyimpan dan mengurus pelbagai jenis data, termasuk imej.
Artikel ini akan memperkenalkan cara menggunakan MySQL untuk mencipta jadual imej dan menggunakan jadual ini untuk melaksanakan muat naik imej dan fungsi pengurusan. Pada masa yang sama, beberapa kod contoh juga akan disediakan supaya pembaca dapat memahami dan mengamalkan dengan lebih baik.
Mula-mula, log masuk ke pangkalan data MySQL dan cipta pangkalan data bernama imej
. Seterusnya, buat jadual yang dipanggil imej
dengan lajur berikut: images
的数据库。接下来,创建一个名为 images
的表,包含以下列:
id
:图片的唯一标识符,使用自增整数类型。name
:图片的名称,使用字符串类型。file
:图片的文件名,使用字符串类型。size
:图片的文件大小,使用整数类型。type
:图片的文件类型,使用字符串类型。created_at
:图片的创建时间,使用日期时间类型。下面是具体的创建表的 SQL 语句:
CREATE TABLE `images` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(100) NOT NULL, `file` VARCHAR(100) NOT NULL, `size` INT NOT NULL, `type` VARCHAR(100) NOT NULL, `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP );
接下来,编写一个图片上传的 PHP 脚本,用于将用户上传的图片保存到服务器,并将相关信息插入到数据库中。
首先,创建一个 HTML 表单,用于接受用户选择的图片文件:
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="image" /> <input type="submit" value="Upload" /> </form>
然后,编写 upload.php
脚本,处理图片上传的逻辑:
<?php // 检查是否有文件上传 if(isset($_FILES['image'])) { // 获取上传的文件信息 $file = $_FILES['image']; $name = $file['name']; $tmp_name = $file['tmp_name']; $size = $file['size']; $type = $file['type']; // 将文件保存到服务器的指定目录 $upload_path = 'uploads/'; $new_name = uniqid() . '_' . $name; $destination = $upload_path . $new_name; move_uploaded_file($tmp_name, $destination); // 将文件信息插入到数据库 $db = new mysqli('localhost', 'root', 'password', 'images'); $sql = "INSERT INTO images (name, file, size, type) VALUES ('$name', '$new_name', $size, '$type')"; $db->query($sql); $db->close(); echo 'File uploaded successfully!'; } ?>
以上代码将会将用户上传的图片保存到 uploads/
目录下,并同时将图片的相关信息插入到数据库的 images
表中。
最后,我们还可以提供一些简单的图片管理功能,例如显示所有已上传的图片、删除特定图片等。
以下是一个简单的图片显示脚本 images.php
,用于显示所有已上传的图片:
<?php $db = new mysqli('localhost', 'root', 'password', 'images'); $sql = "SELECT * FROM images"; $result = $db->query($sql); while($row = $result->fetch_assoc()) { echo '<img src="uploads/' . $row['file'] . '" alt="' . $row['name'] . '" />'; } $db->close(); ?>
以上代码将会依次输出每个已上传图片的 a1f02c36ba31691bcfe87b2722de723b
id
: Pengecam unik untuk imej, menggunakan jenis integer kenaikan automatik.
created_at
: Masa penciptaan imej, menggunakan jenis tarikh dan masa. 🎜upload.php
untuk mengendalikan logik muat naik imej: 🎜rrreee🎜Kod di atas akan Gambar yang dimuat naik oleh pengguna disimpan dalam direktori uploads/
, dan maklumat berkaitan gambar dimasukkan ke dalam jadual images
pangkalan data. 🎜images.php
, digunakan untuk memaparkan semua imej yang dimuat naik: 🎜rrreee🎜Kod di atas akan mengeluarkan Atas ialah kandungan terperinci MySQL mencipta jadual gambar untuk melaksanakan muat naik gambar dan fungsi pengurusan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!