Php 存在使用字符串的文件,但不使用$var

Php 存在使用字符串的文件,但不使用$var,php,var,file-exists,Php,Var,File Exists,因此,我试图创建一个动态链接页面,该页面包含大量条目,如果图像存在,则链接到图像,如果图像不存在,则链接到上传框。然而,出于某种原因,当我将变量传递给文件_exists时,它返回false,即使直接传递相同的位置也返回true。例如: $tempcomp = "dogs/big dogs/misty.puppy.jpg"; if (file_exists($tempcomp)) {

因此,我试图创建一个动态链接页面,该页面包含大量条目,如果图像存在,则链接到图像,如果图像不存在,则链接到上传框。然而,出于某种原因,当我将变量传递给文件_exists时,它返回false,即使直接传递相同的位置也返回true。例如:

$tempcomp = "dogs/big dogs/misty.puppy.jpg";

                if (file_exists($tempcomp))
                    {
                        echo "YES1";
                    }
                clearstatcache();
                if (file_exists ("dogs/big dogs/misty.puppy.jpg"))
                    {
                        echo "YES2";
                    }
                clearstatcache();

此代码返回YES2,即使这两条语句完全相同。是什么导致了这种行为?

可能是因为文件名中的空格:../big dogs/。。。你能用一个名称中没有空格的文件试试吗?请试试这个。var_dumprealpath$tempcompHm,可能是其中一个字符串中的隐藏字符?@davidevel明白了。我肯定在某个地方出现了某种格式错误,但如果文件存在,则alpath$tempcomp工作得非常好。@ravern很抱歉,我试图复制错误,但没有成功。我要求您使用realpath函数只是为了看看它是否返回false。我尝试了你的功能,它在Debian服务器上运行良好。