为什么可以在文件名中加问号?

为什么可以在文件名中加问号?

在 Windows 中,您不能将 放在?文件或目录名称中,因为它们是 PHP GET 函数和通配符的保留字符。但在 Ubuntu 中,我可以。我可以命名文件lol?.txt并像访问任何其他文件一样正确访问它。为什么在 Ubuntu 中可以安全地执行此操作,而在 Windows 中却不能?

答案1

第一条陈述背后的理由是错误的。这是 DOS 时代的限制,远在 PHP 甚至 HTTP 诞生之前。请参阅维基百科条目

长文件名系统允许的最大长度为 255 个 UCS-2 字符3 4包括空格和非字母数字字符(但不包括以下字符,这些字符在 COMMAND.COM 命令解释器或操作系统内核中具有特殊含义:)\ / : * ? " < > |

因此,它更多的是 DOS 限制,而不是 Linux/Unix 许可。

相关内容