使用get_file_contents php进行大写或小写的问题

时间:2014-10-08 13:10:24

标签: php

我正在使用PHP GET方法获取一个文件名,然后将其放在get_file_contents命令中。如果有可能,我想忽略字母大小写,以便我的网址更清晰。

例如,example.com/file.php?n = File-Name可以使用,但是example.com/file.php?n=file-name将无法使用下面的代码。我觉得这应该很容易,但我会干涸。有什么想法吗?

$file = $_GET['n'];
$file_content = file_get_contents($file); 

2 个答案:

答案 0 :(得分:0)

小写所有文件名并使用:

file_get_contents(strtolower($file));

(我希望你知道参与使用它的一些risks。)

答案 1 :(得分:0)

Linux文件系统区分大小写。如果要对用户计算机上已存在的文件进行不区分大小写的匹配,则唯一的选择是获取目录列表并进行不区分大小写的比较。

但您无法解释下载网址的来源。如果您已经知道正确的文件名并且想要生成更漂亮的URL,那么您可以保留一个真实路径名列表,并在URL中收到一个案例规范化的URL时查找它们(您甚至可以完全重命名它们,混淆等等) 。)