PHP处理文件

时间:2009-11-10 11:06:10

标签: php file special-characters

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

3 个答案:

答案 0 :(得分:3)

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

对于像&这样简单的事情,你没有一种简单的方法可以做到这一点。你可以存储真实的文件名,或者制作一个转换表,使得像_____questionmark_____这样的东西转换成那个符号或类似的东西,但是你会遇到特定字符串的问题。

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

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

答案 1 :(得分:1)

文件名中只允许使用少量特殊字符。所以对这些角色保持自己的insanitized序列。例如,替换所有'?'在创建文件之前使用'#quest'等等。当你读它们时反过来,这不是很好吗? Insanitized意味着我们通常不会打字的某些字符组合,例如'#quest'。

答案 2 :(得分:0)

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