Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP melaksanakan fungsi galeri dalam talian

PHP melaksanakan fungsi galeri dalam talian

PHPz
PHPzasal
2023-06-22 17:52:401768semak imbas

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:

2c9ccec1c7569b190d7f2fbc9a3811c4

<input type="file" name="file" id="file">
<input type="submit" name="submit" value="上传">

f977d3c35ed3c4c720f5587a49eae9ba 500000) {

echo "抱歉,您的文件太大。";
$uploadOk = 0;

}

// Benarkan format fail tertentu

if($imageFileType ! = "jpg" && $ imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {

echo "抱歉,只能上传JPG、JPEG、PNG和GIF格式的文件。";
$uploadOk = 0;

}

// Semak status muat naik

jika ($uploadOk == 0) {

echo "抱歉,您的文件未能上传。";

// Jika semuanya berjalan lancar, cuba alihkan fail ke direktori sasaran

} 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 "抱歉,发生了错误,您的文件无法上传。";
}

}

?>

Kod mula-mula melakukan beberapa semakan, seperti menyemak sama ada fail itu imej, jika fail itu sudah wujud, had saiz fail dan format fail yang dibenarkan. Jika semua semakan ini lulus, fail boleh dialihkan ke direktori yang ditentukan dan beberapa maklumat disimpan dalam pangkalan data untuk operasi menyemak imbas dan pemadaman.

3. Laksanakan fungsi menyemak imbas

Seterusnya, kita perlu melaksanakan fungsi menyemak imbas gambar yang dimuat naik. Untuk melakukan ini, kita perlu membaca maklumat imej yang disimpan dalam pangkalan data dan memaparkannya pada halaman web.

Berikut ialah kod:

9286fbc63d38c077960fa7dc31e94fac
4. Laksanakan fungsi pemadaman

Langkah terakhir ialah menambah fungsi memadam imej. Apabila pengguna memuat naik imej dan tidak memerlukannya lagi, mereka boleh memilih untuk memadamkannya daripada galeri.

Berikut ialah kod:

if(isset($_GET["delete"])) {
$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");

}

?> ;

Kod ini akan memadamkan rekod daripada pangkalan data berdasarkan ID imej dan memadamkan fail yang ditentukan setempat. Selepas itu, ubah hala pengguna ke halaman galeri asas.

Ringkasan

Melalui pengenalan artikel ini, kita dapat memahami cara menggunakan PHP untuk melaksanakan fungsi galeri dalam talian, termasuk fungsi memuat naik, menyemak imbas dan memadam gambar.

Perlu diambil perhatian bahawa beberapa butiran penting yang terlibat dalam kod, seperti pengesahan input, had saiz fail dan pengesahan jenis fail, disediakan untuk memastikan keselamatan dan integriti. Dalam aplikasi praktikal, kod ini boleh diubah suai dan dilanjutkan mengikut keperluan anda sendiri.

Atas ialah kandungan terperinci PHP melaksanakan fungsi galeri dalam talian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn