gpt4 book ai didi

php - file_exists() 没有找到文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:07:04 25 4
gpt4 key购买 nike

if(file_exists("./squadra/photos/photog.jpg")) {
echo "### YES ###";
} else {
echo "### NO ###";
}

如果我在/zones/team.php 上运行这个函数,它就可以工作(它打印 YES)。如果我在/auth/ajax.php 上运行这个函数,它会打印 NO。为什么?

编辑

所以我做了一些实验。

1 - 如果我尝试:

// file on /zones/team.php
if(file_exists($_SERVER['DOCUMENT_ROOT']."/squadra/photos/provag.jpg")) {
echo "YES";
} else {
echo "NO";
}

// file on /auth/ajax.php
if(file_exists($_SERVER['DOCUMENT_ROOT']."/squadra/photos/provag.jpg")) {
echo "YES";
} else {
echo "NO";
}

两者都说不;

2 - 如果我尝试:

// file on /zones/team.php
if(file_exists("./squadra/photos/provag.jpg")) {
echo "YES";
} else {
echo "NO";
}


// file on /auth/ajax.php
if(file_exists("../squadra/photos/provag.jpg")) {
echo "YES";
} else {
echo "NO";
}

两者都说是;但是在 team.php 上我使用 ./和在 ajax.php 上 ../...为什么这有效???

最佳答案

你的最后一个很可能是因为:

  1. 您正在从位于根目录中的 index.php 调用 zones/team.php。在这种情况下,./ 部分正确标识了您的当前目录。
  2. 对于 ajax,您必须像 auth/ajax.php 这样直接调用它,而不是像 index.php?type=jx&do=auth/ajax 这样的东西会和No.1一样。因此,情况并非如此,您需要先使用 ../ 退出 auth,然后继续使用 squadra/....

尽可能多地使用绝对路径。 PHP 很难计算相对路径(在性能方面)。

关于php - file_exists() 没有找到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4169286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com