我想在服务器上保存文件(主要是图像和文档),但我有一个两难选择:应该如何命名? (每个文件都有DB-ID,title,fileName,extension,created,...)
的记录有没有更好的解决方案?
感谢您的回答。米甲
答案 0 :(得分:4)
我的第一个想法是它将按ID命名(来自DB - 每个名称都是唯一的)
这是正确的答案。
但是当有人下载它时,它会有丑陋的名字(ID)
这就是为什么我们在Content-Disposition
标题中给它一个漂亮的名字。
答案 1 :(得分:0)
解决方案2:忘掉它。它根本不确定。
解决方案3可以没问题。
解决方案1没问题。
您只需在用户下载时更改文件名即可。
header('Content-Disposition: attachment; filename="'.getFileNameFromDB($file_id));
答案 2 :(得分:0)
还有另一个想法是使用随机数并在文件名之前输出随机数
$random_digit=rand(0000,9999);
$new_file_name=$random_digit.$file_name;
或使用您的上一个想法,并在下载或显示时将其重命名为无ID