Url 是否允许在(文件-)Web服务器上使用UTF-8编码的文件名?
我正在托管一个小型文件服务器,用户可以在其中上载来自世界各地的文档 由于编码方面的问题(请参阅),我问自己是否应该禁止用户上传(另一方面下载)CP1252字符集不支持的文件 或以其他方式;允许用户上传文件名中包含阿拉伯或中文字母的文档是否明智Url 是否允许在(文件-)Web服务器上使用UTF-8编码的文件名?,url,encoding,utf-8,download,cp1252,Url,Encoding,Utf 8,Download,Cp1252,我正在托管一个小型文件服务器,用户可以在其中上载来自世界各地的文档 由于编码方面的问题(请参阅),我问自己是否应该禁止用户上传(另一方面下载)CP1252字符集不支持的文件 或以其他方式;允许用户上传文件名中包含阿拉伯或中文字母的文档是否明智 PS:他们稍后会下载相同的文件(文件名应该与上载的文件名相同)您应该使用随机生成的名称将文件存储在磁盘上,或者让文件名基于文件内容的散列(同样适用于重复数据消除存储)。您可以将原始文件名作为元数据保存在数据库中,同时保存有关该文件的所有其他元数据(谁上传了
PS:他们稍后会下载相同的文件(文件名应该与上载的文件名相同)您应该使用随机生成的名称将文件存储在磁盘上,或者让文件名基于文件内容的散列(同样适用于重复数据消除存储)。您可以将原始文件名作为元数据保存在数据库中,同时保存有关该文件的所有其他元数据(谁上传了该文件等)。然后使用PHP脚本再次提供该文件,该脚本在HTTP头中设置数据库中的原始文件名。这样你就:
- 不需要担心文件名的删除或复制
- 文件系统编码问题
- 存储复制(如果使用哈希)