色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql存的文件去哪了

劉柏宏2年前8瀏覽0評論

每個人在使用MySQL時,都可能遇到過存儲文件的情況。例如,我們在使用外鍵時,可能需要將圖片或視頻文件作為外鍵存儲進數據庫中。那么,這些文件具體存儲在哪里呢?

實際上,MySQL通過BLOB來存儲二進制大對象文件。當我們將文件作為BLOB存儲時,MySQL會將文件分為若干個數據塊,然后將這些數據塊存儲在數據表中的BLOB列中。但是,對于較大的文件,我們并不推薦將其存儲在數據庫中。

那么,如果我們不想將文件存儲在數據庫中呢?此時,我們可以采用文件系統存儲的方式,即將文件存儲在服務器的文件系統中,然后在數據表中存儲文件路徑,通過路徑來訪問對應的文件。在這種情況下,我們需要在數據表中創建一個VARCHAR類型的列,用于存儲文件路徑。

CREATE TABLE `files` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`file_name` varchar(255) NOT NULL,
`file_path` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

如上所示的數據表模型,其中包含了文件名和文件路徑兩個字段。我們可以通過如下的PHP代碼將文件存儲到指定的文件夾中:

$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file);

代碼中,我們通過move_uploaded_file()函數將上傳的文件存儲到指定的文件夾中。此時,我們可以通過如下的代碼將文件路徑存儲到數據表中:

INSERT INTO files (file_name, file_path)
VALUES ('testfile', 'uploads/testfile.jpg');

注意,我們需要確保文件路徑的正確性,然后才能通過文件路徑訪問對應的文件。