PHP implémente la fonction de galerie en ligne

PHPz
Libérer: 2023-06-22 17:54:02
original
1824 Les gens l'ont consulté

À l'ère d'Internet moderne, la fonction galerie est devenue une fonctionnalité standard de nombreux sites Web, et PHP, en tant que langage de programmation puissant, offre également diverses façons d'implémenter cette fonction.

Cet article explique comment utiliser PHP pour implémenter une fonction simple de galerie en ligne permettant de télécharger, parcourir et supprimer des images.

1. Préparation

Avant d'utiliser PHP pour implémenter la fonction de galerie en ligne, nous devons préparer quelques travaux de base :

1. MySQL.

2. Préparez le serveur pour prendre en charge le téléchargement de fichiers PHP.

3. Utilisez la commande suivante pour créer un nouvel utilisateur et un mot de passe MySQL sur l'hôte :

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';# 🎜 🎜#

4. Créez une nouvelle base de données et une nouvelle table MySQL pour stocker les informations de la galerie. Vous pouvez utiliser les commandes suivantes :

CREATE DATABASE mydb;

mydb;

CREATE TABLE images (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) NOT NULL,
path varchar(255) NOT NULL,
uploaded_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (idCREATE TABLE images (
id int(11) NON NULL AUTO_INCREMENT,

nom varchar(255) NON NULL,

chemin varchar(255) NOT NULL ,

uploaded_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8; #🎜 🎜#

5. Créez un nouveau dossier pour stocker les images téléchargées.

2. Implémenter la fonction de téléchargement

Tout d'abord, nous devons créer un formulaire HTML pour permettre aux utilisateurs de télécharger des fichiers image. Ce formulaire doit avoir l'attribut enctype="multipart/form-data" pour télécharger des fichiers. Voici le code du formulaire :

<input type="file" name="file" id="file">
<input type="submit" name="submit" value="上传">
Copier après la connexion

< /form>

Dans ce formulaire, nous définissons un élément de téléchargement de fichier et implémentons un bouton "Télécharger un fichier" en HTML natif. Lorsque l'utilisateur clique sur ce bouton, le formulaire téléchargera le fichier dans le fichier upload.php sur le serveur.

Ensuite, nous devons écrire le code du fichier upload.php pour terminer le traitement et enregistrer le fichier téléchargé. Voici le code :

$target_dir = "uploads/";

$target_file = $target_dir . 🎜🎜 #$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

// Vérifiez si le fichier est un type d'image

if( isset($_POST ["submit"])) {

$check = getimagesize($_FILES["file"]["tmp_name"]);
if($check !== false) {
    echo "文件是一个图像," . $check["mime"] . ".";
    $uploadOk = 1;
} else {
    echo "文件不是一个图像。";
    $uploadOk = 0;
}
Copier après la connexion

}

// Vérifiez si le fichier existe déjà

if (file_exists($target_file)) {

echo "抱歉,文件已经存在。";
$uploadOk = 0;
Copier après la connexion

}

// Vérifier la taille du fichier

if ($_FILES"file" > 500000) {

echo "抱歉,您的文件太大。";
$uploadOk = 0;
Copier après la connexion

}
# 🎜🎜#// Autoriser des formats de fichiers spécifiques

if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"

&& $imageFileType != "gif" ) {

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

}

// Vérifier l'état du téléchargement

if ($uploadOk == 0) {

echo "抱歉,您的文件未能上传。";
Copier après la connexion
#🎜 🎜#// si tout va bien, essayez de déplacer le fichier vers le répertoire cible

} else {

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

}

?>

The Le code effectue d'abord quelques vérifications. Les exemples incluent la vérification si le fichier est une image, si le fichier existe déjà, les limites de taille de fichier et les formats de fichier autorisés. Si toutes ces vérifications réussissent, le fichier peut être déplacé vers le répertoire spécifié et certaines informations enregistrées dans la base de données pour les opérations de navigation et de suppression.

3. Implémentez la fonction de navigation

Ensuite, nous devons implémenter la fonction de navigation dans les images téléchargées. Pour ce faire, nous devons lire les informations sur l'image enregistrées dans la base de données et les afficher sur la page Web.

Voici le code :


// Obtenez le chemin de toutes les images de la base de données
$sql = "SELECT id, name, path FROM images";

$result = mysqli_query($conn, $sql);


// Parcourez le chemin et le nom et affichez HTML

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>';
Copier après la connexion

}

?>

Quatrièmement, implémentez la fonction de suppression

Le la dernière étape consiste à ajouter la fonction de suppression d’image. Lorsqu'un utilisateur télécharge une image et n'en a plus besoin, il peut choisir de la supprimer de la galerie.

Voici le code :


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");
Copier après la connexion
# 🎜🎜 #}
?>

Ce code supprimera les enregistrements de la base de données en fonction de l'ID de l'image et supprimera le fichier local spécifié. Après cela, redirigez l'utilisateur vers la page de base de la galerie.

Résumé

Grâce à l'introduction de cet article, nous pouvons comprendre comment utiliser PHP pour implémenter les fonctions de la galerie en ligne, y compris les fonctions de téléchargement, de navigation et de suppression d'images.

Il convient de noter que certains détails importants impliqués dans le code, tels que la validation des entrées, les limites de taille de fichier et la validation du type de fichier, sont tous configurés pour garantir la sécurité et l'intégrité. Dans des applications pratiques, ces codes peuvent être modifiés et étendus selon vos propres besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal