Dalam era Internet moden, fungsi galeri telah menjadi ciri standard banyak tapak web, dan PHP, sebagai bahasa pengaturcaraan yang berkuasa, juga menyediakan pelbagai cara untuk melaksanakan fungsi ini.
Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi galeri dalam talian yang mudah untuk memuat naik, menyemak imbas dan memadam gambar.
1. Persediaan
Sebelum menggunakan PHP untuk melaksanakan fungsi galeri dalam talian, kita perlu menyediakan beberapa kerja asas:
1.
2. Sediakan pelayan untuk menyokong muat naik fail PHP.
3. Cipta pengguna dan kata laluan MySQL baharu pada hos menggunakan arahan berikut:
BUAT PENGGUNA 'newuser'@'localhost' DIKENAL PASTI OLEH 'user_password';
4. Cipta pangkalan data dan jadual MySQL baharu untuk menyimpan maklumat galeri. Anda boleh menggunakan arahan berikut:
CIPTA PANGKALAN DATA mydb
;
CIPTA JADUAL images
(
id
int(11) BUKAN NULL AUTO_INCREMENT,
name
varchar (255) BUKAN NULL,
path
varchar(255) BUKAN NULL,
uploaded_time
tarikh masa BUKAN NULL STAMP MASA LALAI,
KUNCI UTAMA (id
)
) ENGINE= CHARSET lalai =utf8;
5. Cipta folder baharu untuk menyimpan imej yang dimuat naik.
2. Laksanakan fungsi muat naik
Pertama, kita perlu mencipta borang HTML untuk membolehkan pengguna memuat naik fail imej. Borang ini mesti mempunyai atribut enctype="multipart/form-data" untuk memuat naik fail. Berikut ialah kod borang:
Dalam borang ini, kami mentakrifkan elemen muat naik fail dan melaksanakan butang "Muat Naik Fail" dalam HTML asli. Apabila pengguna mengklik butang ini, borang akan memuat naik fail ke fail upload.php pada pelayan.
Seterusnya, kita perlu menulis kod untuk fail upload.php untuk menyelesaikan pemprosesan dan menyimpan fail yang dimuat naik. Berikut ialah kod:
$target_dir = "uploads/";
$target_file = $target_dir = 1 ;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
if(isset($_POST["submit"] )) {
$check = getimagesize($_FILES["file"]["tmp_name"]); if($check !== false) { echo "文件是一个图像," . $check["mime"] . "."; $uploadOk = 1; } else { echo "文件不是一个图像。"; $uploadOk = 0; }
jika (file_exists($target_file)) {
echo "抱歉,文件已经存在。"; $uploadOk = 0;
jika ($_FILES"file" > 500000) {
echo "抱歉,您的文件太大。"; $uploadOk = 0;
if($imageFileType ! = "jpg" && $ imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "抱歉,只能上传JPG、JPEG、PNG和GIF格式的文件。"; $uploadOk = 0;
jika ($uploadOk == 0) {
echo "抱歉,您的文件未能上传。";
} lain {
if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) { echo "文件" . basename( $_FILES["file"]["name"]). "上传成功。"; // 将文件路径、名称和上传时间保存到数据库中 $img_name = $_FILES["file"]["name"]; $img_path = $target_file; $sql = "INSERT INTO images (name, path) VALUES ('$img_name', '$img_path')"; $result = mysqli_query($conn, $sql); } else { echo "抱歉,发生了错误,您的文件无法上传。"; }
?>
while($row = mysqli_fetch_assoc($result)) {
$img_id = $row["id"]; $img_name = $row["name"]; $img_path = $row["path"]; echo '<div class="image">'; echo '<a href="view.php?id=' . $img_id . '"><img src="' . $img_path . '" title="' . $img_name . '"></a>'; echo '</div>';
?>
$id = $_GET["delete"]; // 从数据库中删除记录 $sql = "DELETE FROM images WHERE id='$id'"; $result = mysqli_query($conn, $sql); // 删除本地文件 $info_query = "SELECT path FROM images WHERE id='$id'"; $info_result = mysqli_query($conn, $info_query); $row = mysqli_fetch_assoc($info_result); unlink($row["path"]); // 将用户重定向到基页面 header("location: index.php");
?> ;
Atas ialah kandungan terperinci PHP melaksanakan fungsi galeri dalam talian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!