1

我试图制作一个file based article system,我希望文件夹成为我的类别,其中的文件成为实际的文章。但有时我的文件夹/文件名中需要一些特殊字符(\/:*?"实际上我只对双引号和问号感兴趣)。有没有办法做到这一点......像&在html或类似的东西。谢谢

4

3 回答 3

3

简短回答:您的操作系统可以支持此类文件名,但似乎不支持。

没有一种简单的方法可以让你做这样简单&的事情。您可以存储真实的文件名,或者制作一个转换表,以便将某些东西_____questionmark_____转换为该符号或类似的东西,但随后您会遇到该特定字符串的问题。

但从根本上说,您应该将标题与文件本身分开存储。数据库将是一个合适的位置。

在更深层次上,如果您要问这样的问题,我认为可以肯定地说,允许用户在您的系统上指定文件名可能会带来很大的安全风险。

于 2009-11-10T11:33:10.940 回答
1

只有少数特殊字符不允许出现在文件名中。因此,请为这些角色保留自己的未消毒序列。例如,替换所有“?” 在创建文件之前使用“#quest”等。当你读到它们时,做相反的事情,这不是很好吗?Insanitized 意味着我们通常不键入的某些字符组合,例如“#quest”。

于 2009-11-10T11:32:54.357 回答
0

我建议使用.htaccess文件将“文件名”作为参数传递给您的 PHP 脚本。随后让脚本在指向文章文件的数据库查找表中查找文章。

于 2009-11-10T11:38:05.297 回答