我使用file_exists()中的一类,我想用它的根,以及包含在另一个文件夹时,看文件是否存在的。PHP直接路径file_exists()
我目前有:
if (file_exists("./photos/".$this->id.".jpg")){
//
}
它可以包含在根的时候,但不包括(阿贾克斯)的文件夹中时。
我能做些什么,使之直接(我认为是正确的话)?由于该函数的性质,我无法将我的网站URL加入其中。
我使用file_exists()中的一类,我想用它的根,以及包含在另一个文件夹时,看文件是否存在的。PHP直接路径file_exists()
我目前有:
if (file_exists("./photos/".$this->id.".jpg")){
//
}
它可以包含在根的时候,但不包括(阿贾克斯)的文件夹中时。
我能做些什么,使之直接(我认为是正确的话)?由于该函数的性质,我无法将我的网站URL加入其中。
最简单的方法是使用绝对(满)路径:
if (file_exists("/full/path/to/photos/".$this->id.".jpg")){
//
}
这样一来,无论从那里执行脚本此事,完整的路径,永远不会改变,将永远工作。
当然,你可能不希望硬编码的完整路径到PHP脚本...
所以,你可以使用dirname(__FILE__)
去其中包含该文件的目录的完整路径其中你写了dirname(__FILE__)
,并从那里,与相关的一个去。
例如:
$path = dirname(__FILE__) . '/../../files/photos/'.$this->id.".jpg";
if (file_exists($path)) {
//
}
(同时测试这一点,你可能想显示的$path
的价值,首先,要确保你有正确的路径)
注意:如果您使用PHP> = 5.3,则可以使用__DIR__
而不是dirname(__FILE__)
。
相关的手册页:
dirname()
Magic constants
,包括__DIR__
和__FILE__
。这听起来像你只需要从根目录到代码的完整路径。
if (file_exists("/root_dir/path/to/photos/".$this->id.".jpg"))
我如何找到这条道路由于 – Jake
通过ssh或ftp,遍历只需登录到您的服务器?到webroot,这就是你的路径应该开始的地方,所以如果你的webroot是“public_html”(大多数主机通用),你的路径将以/开头,指示您从根目录开始。所以这将是/ public_html/another_directory/etc/photos/ –
这是多个,或者使用dirname(__FILE__)
拿到php文件本身的路径,无论它是否会被直接调用或包括不常见的。因此,在你的情况,你可以写:
if(file_exists(dirname(__FILE__) . '/photos/'.$this->id.'.jpg'))
这不起作用 – Jake
在包含代码的类的同一水平假设 “照片” 文件夹中:
if (file_exists(dirname(__FILE__)."/../photos/".$this->id.".jpg")){
//
}
我有这样的结构:/classes/class.php和/ photos – Jake
我已经根据您的信息更新了代码。 –
目录名(FILE )=” ../ “
目录名(目录名(FILE ))=” ../../ “
目录名(目录名(目录名(FILE )))=” ../../ .. 。/”
U可以试试它的
我有这样的结构:/classes/class.php和/照片 – Jake