欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql存的文件去哪了

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

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

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

那么,如果我們不想將文件存儲在數(shù)據(jù)庫中呢?此時,我們可以采用文件系統(tǒng)存儲的方式,即將文件存儲在服務(wù)器的文件系統(tǒng)中,然后在數(shù)據(jù)表中存儲文件路徑,通過路徑來訪問對應(yīng)的文件。在這種情況下,我們需要在數(shù)據(jù)表中創(chuàng)建一個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;

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

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

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

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

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