파일 저장 기능을 구현하기 위해 안정적인 MySQL 테이블 구조를 설계하는 방법은 무엇입니까?
현재 파일 저장은 많은 애플리케이션에서 필수적인 부분이 되었습니다. 안정적인 MySQL 테이블 구조를 설계할 때 다음 핵심 요소를 고려해야 합니다.
id
: 파일 ID(기본 키) id
:文件ID,作为主键;name
:文件名;path
:文件路径;size
:文件大小;type
:文件类型;created_at
:文件创建时间;updated_at
name
: 파일 이름; 코드>경로 코드>: 파일 경로; 크기
: 파일 크기;
유형
: 파일 유형; created_at
파일 생성 시간 updated_at
: 파일 업데이트 시간.
예를 들어 다음 SQL 문을 사용하여 파일 테이블을 만들 수 있습니다.
CREATE TABLE `file` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `path` varchar(255) NOT NULL, `size` int(11) NOT NULL, `type` varchar(255) NOT NULL, `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
<?php function uploadFile($file) { $name = $file['name']; $path = 'uploads/' . $name; $size = $file['size']; $type = $file['type']; move_uploaded_file($file['tmp_name'], $path); $sql = "INSERT INTO `file` (`name`, `path`, `size`, `type`) VALUES ('$name', '$path', $size, '$type')"; // 执行SQL语句插入文件信息 return true; } function downloadFile($id) { $sql = "SELECT `path` FROM `file` WHERE `id` = $id"; // 执行SQL语句查询文件路径 $path = $result['path']; header('Content-Type: application/octet-stream'); header("Content-Disposition: attachment; filename="" . basename($path) . """); readfile($path); return true; } function deleteFile($id) { $sql = "SELECT `path` FROM `file` WHERE `id` = $id"; // 执行SQL语句查询文件路径 $path = $result['path']; unlink($path); $sql = "DELETE FROM `file` WHERE `id` = $id"; // 执行SQL语句删除文件信息 return true; } ?>
위 내용은 파일 저장 기능을 구현하기 위해 안정적인 MySQL 테이블 구조를 설계하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!