0

我正在托管一个小型文件服务器,用户可以在其中上传来自世界各地的文档。

由于编码问题(见其他问题),我问自己是否应该禁止用户上传(另一方面下载)CP1252 字符集不支持的文件?

或其他;允许用户上传文件名中包含阿拉伯文或中文字母的文档是否有意义?

PS:他们稍后会下载相同的文件(并且应该与上传的文件名相同)

4

1 回答 1

0

您应该使用随机生成的名称将文件存储在磁盘上,或者让文件名基于文件内容的哈希(也适用于重复数据删除存储)。您可以将原始文件名保存为数据库中的元数据以及有关该文件的所有其他元数据(上传文件的人和类似的东西)。然后,您使用 PHP 脚本再次提供文件,该脚本在 HTTP 标头中设置来自数据库的原始文件名。这样你:

  • 无需担心文件名清理或重复
  • 文件系统编码问题
  • 存储重复(如果使用哈希)
于 2014-04-15T12:47:12.080 回答