如何在数据库中以二进制格式保存文件?
how to save file in binary format in db?
我需要在数据库中以二进制格式保存文件,而不是将文件保存在目录中并在数据库中插入文件名。就像我通过 print_r($_FILES)
获取文件,接下来是什么??
Table 实体数据类型应为 blob
CREATE TABLE `media`( `id` INT NOT NULL AUTO_INCREMENT, `content` BLOB, PRIMARY KEY (`id`) );
例如:
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
$fileContent = file_get_contents($uploadfile);
$query = "INSERT INTO `media` (content) VALUES ("$fileContent");
}
您可以在数据库中创建类型为 blob 的列 table。
然后使用 file_get_contents($uploaddir . basename($_FILES['userfile']['name'])) 获取文件内容
现在可以使用插入查询轻松地将其存储在数据库列中。
我需要在数据库中以二进制格式保存文件,而不是将文件保存在目录中并在数据库中插入文件名。就像我通过 print_r($_FILES)
获取文件,接下来是什么??
Table 实体数据类型应为 blob
CREATE TABLE `media`( `id` INT NOT NULL AUTO_INCREMENT, `content` BLOB, PRIMARY KEY (`id`) );
例如:
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
$fileContent = file_get_contents($uploadfile);
$query = "INSERT INTO `media` (content) VALUES ("$fileContent");
}
您可以在数据库中创建类型为 blob 的列 table。 然后使用 file_get_contents($uploaddir . basename($_FILES['userfile']['name'])) 获取文件内容 现在可以使用插入查询轻松地将其存储在数据库列中。