【问题标题】:PHP File uploading - accents and spaces in file namesPHP文件上传 - 文件名中的重音和空格
【发布时间】:2012-03-29 09:30:29
【问题描述】:

在文件上传(PHP 网站)的上下文中,在 Unix 环境中,是否有必要删除文件名中的空格和重音符号? 唯一的目标是允许用户上传文件和其他用户下载这些文件。 在那种情况下,空格和重音会引起任何麻烦吗?

【问题讨论】:

    标签: php file-upload filenames


    【解决方案1】:

    空格和重音会带来什么麻烦吗?

    它们可以,不是因为操作系统不支持它们,而是因为 PHP 在处理最基本的变音符号时惨遭失败(即使是基本的 ISO-8859-1 字符集,您也必须utf8_[en/de]code)。

    忘记其他更复杂的字符集。

    【讨论】:

      【解决方案2】:

      如果您在检索时正确转义特殊字符(例如,在其前添加 \),则空格和重音应该不是问题

      【讨论】:

      • “特殊字符”到底是什么意思?
      • 特殊字符可能是错误的词。我的意思是口音和空格字符。如果您想在 URL 中使用文件名,请记住对字符进行 URL 转义(例如,%20 表示空格)。
      • 我从未见过任何人逃避重音字符,这对我来说似乎很奇怪。至于在 URL 中使用文件名,它可以在没有 URL 编码文件名的情况下工作,所以我想知道它是否有用......
      猜你喜欢
      • 1970-01-01
      • 2011-02-17
      • 1970-01-01
      • 2021-10-25
      • 2014-09-18
      • 2013-09-07
      • 2016-02-28
      • 2013-04-29
      • 2011-08-27
      相关资源
      最近更新 更多