php:检查路径是否存在?
问题描述:
嘿家伙, 我设置了一个查询字符串的路径变量。 检查路径(总是一个目录)是否存在的最简单方法是什么?php:检查路径是否存在?
if(isset($_GET['p'])) {
define(PATH, $_GET['p']);
所以现在我有一个像mydomain.com?p=files/folder/sub,一切工作正常,我在看文件夹的内容。然而,我可以传递?p =狗屎/什么,我没有得到404或类似的东西。系统读取一个甚至不存在的文件夹。
我甚至不需要404,但只是想打印('不存在!')或类似的东西。
什么是最好的方法来做到这一点? 谢谢
答
如果这是你的本地计算机上,你可以使用file_exists()
http://php.net/manual/en/function.file-exists.php
if (!file_exists($filename)) {
//print your error
}
可能重复[检查文件与绝对和相对路径存在](http://stackoverflow.com/questions/1730547 /检查,如果文件与绝对和相对路径存在) – 2010-10-20 20:19:10
**不要!**这呼吁[RFI](http://www.owasp.org/index.php/Top_10_2007 -A3) - 将白名单用于这类事情 – knittl 2010-10-20 20:30:08
那么你如何做白名单? – matt 2010-10-20 21:22:51