Maison > base de données > tutoriel mysql > le corps du texte

Comment concevoir une structure de table MySQL fiable pour implémenter la fonction de téléchargement de fichiers ?

WBOY
Libérer: 2023-10-31 12:06:38
original
995 Les gens l'ont consulté

Comment concevoir une structure de table MySQL fiable pour implémenter la fonction de téléchargement de fichiers ?

Comment concevoir une structure de table MySQL fiable pour implémenter la fonction de téléchargement de fichiers ?

Dans de nombreuses applications, la fonction de téléchargement de fichiers est une fonction très courante et importante. Afin d'implémenter la fonction de téléchargement de fichiers, nous devons concevoir la table de base de données afin qu'elle puisse stocker et gérer les informations relatives aux fichiers. Cet article explique comment concevoir une structure de table MySQL fiable pour implémenter la fonction de téléchargement de fichiers et fournit des exemples de code pour une compréhension facile.

1. Créer une table de fichiers

Tout d'abord, nous devons créer une table de fichiers pour stocker les informations relatives aux fichiers. La table de fichiers doit contenir les champs suivants :

  • id : ID du fichier, comme clé primaire
  • name : nom du fichier
  • path : chemin du fichier, qui stocke les informations de chemin du fichier sur le serveur
  • size : taille du fichier
  • create_time : heure de création du fichier
  • update_time : heure de mise à jour du fichier

Ce qui suit est un exemple de code SQL pour créer une table de fichiers :

CREATE TABLE `file` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(256) NOT NULL,
  `path` varchar(512) NOT NULL,
  `size` int(11) NOT NULL,
  `create_time` datetime NOT NULL,
  `update_time` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Copier après la connexion

2. enregistrez le fichier téléchargé sur le serveur et enregistrez le fichier. Les informations pertinentes sont stockées dans la table des fichiers. Voici un exemple de code PHP simple :

<?php
// 获取上传文件信息
$fileName = $_FILES['file']['name'];
$fileSize = $_FILES['file']['size'];
$fileTmpName = $_FILES['file']['tmp_name'];

// 生成文件路径
$uploadPath = '/var/www/html/uploads/';
$fileUrl = $uploadPath . $fileName;

// 保存文件到服务器
move_uploaded_file($fileTmpName, $fileUrl);

// 将文件信息插入到文件表中
$createTime = date('Y-m-d H:i:s');
$updateTime = $createTime;

$sql = "INSERT INTO `file` (`name`, `path`, `size`, `create_time`, `update_time`)
        VALUES ('$fileName', '$fileUrl', '$fileSize', '$createTime', '$updateTime')";

// 执行SQL语句
// ...
?>
Copier après la connexion

3. Télécharger des fichiers

Pour implémenter la fonction de téléchargement de fichier, vous devez fournir un lien de téléchargement à l'utilisateur et transférer le fichier sur lequel l'utilisateur clique pour télécharger sur l'appareil de l'utilisateur. Voici un exemple de code PHP simple :

<?php
$fileId = $_GET['id'];

// 查询文件信息
$sql = "SELECT `path`, `name` FROM `file` WHERE `id` = $fileId";
// 执行SQL语句并获取结果
// ...

// 获取文件路径和文件名
$fileUrl = $result['path'];
$fileName = $result['name'];

// 设置HTTP Header为下载文件
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $fileName . '"');

// 读取文件内容并输出到浏览器
readfile($fileUrl);
?>
Copier après la connexion

Grâce aux étapes ci-dessus, nous pouvons concevoir une structure de table MySQL fiable pour stocker et gérer les informations relatives aux fichiers et implémenter la fonction de téléchargement de fichiers. Bien entendu, l'exemple de code ci-dessus n'est qu'une simple implémentation, et la situation réelle devra peut-être être ajustée et optimisée de manière appropriée en fonction des besoins spécifiques.

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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!