我希望用户能够以PDF,.txt,.doc,.docx上传他们的简历;并允许潜在的雇主下载文件。
我应该使用哪种数据类型?在MS MSQL中,我会使用varbinary(max),对吗?但由于我是MySQL的新手,我有点困惑。 :)
答案 0 :(得分:11)
您必须使用BLOB类型
答案 1 :(得分:5)
您应该使用varchar来保存文件的路径。文件本身不应存储在数据库中。
答案 2 :(得分:4)
没有人应该提到整个不将数据存储在db中的flickr。 :)
将文件(甚至是大文件)存储在数据库中是一个关于硬件的问题而不是编程实践。如果您的服务器(或服务器场)可以处理业务,那么它没有真正的缺点,并且有优点。主要原因是数据库中的文件没有“卡在”服务器上。文件转到数据库的任何位置,并根据需要进行复制。
与所有事情一样,没有一个答案是正确的......您必须根据您的实际项目要求和未来计划做出最佳决策。
答案 3 :(得分:0)
在MySQL中存储像DOC这样的二进制文件通常是个坏主意。我只是将它们上传到文件系统或转换为纯文本,然后以BLOB或varchar保存到MySQL。
答案 4 :(得分:0)
我同意上面的大部分内容。与在数据库中存储缩略图的Facebook不同,将文件存储在数据库中通常不是一个好主意。
答案 5 :(得分:0)
在这个阶段,上述两种选择都有其优点和缺点。问题是,
相对于从服务器存储和下载它。
答案 6 :(得分:0)
filename.php 在此文件中使用表单发布方法
Upload File<a href="download.php?f=<?php echo $upload_file ?>"><?php echo $upload_file ?></a> <input type="file" name="uploaded_file" id="uploaded_file" value="">
在php中获取发布的文件
$file = $_FILES['uploaded_file']; //receive the posted file
$name = $file['name'];
$path = "C:/wamp/www/mantis/uploads/" . basename($name); // 5
if (move_uploaded_file($file['tmp_name'], $path)) {
} else {
}
**mysql query**
insert into tablename(upload_file)values('".$name."');