file_exists不使用localhost URL

时间:2015-03-08 20:15:27

标签: php file-exists

我在PHP中有这段代码:

if (file_exists($_POST['current_folder'])) {
    //do something
} 

file_exists总是返回false。传递给函数的值是:

echo $_POST['current_folder']);  //This prints: http://localhost/wordpress/wp-content/music

我也试过localhost上的不同文件夹。该函数始终返回false。

我也试过is_dir()。但即使这个函数也会返回上面的URL。

Stack Overflow上有很多相关问题。但是大多数人都建议file_exists仅适用于相对网址。但是从this link开始,http://功能也支持file_exists个网址。

我错过了什么?

2 个答案:

答案 0 :(得分:1)

使用目录路径;不是网址:

<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
   echo "The file $filename exists";
} else {
   echo "The file $filename does not exist";
}
?>

答案 1 :(得分:1)

使用Apache 2.4.9在Windows下测试。

<?PHP
$crl = curl_init("http://localhost/symfony2/");
curl_setopt($crl, CURLOPT_NOBODY, true);
curl_exec($crl);

$ret = curl_getinfo($crl, CURLINFO_HTTP_CODE);
curl_close($crl);

if ($ret == 200)
    echo 'File exists';
else
    echo 'File does not exist';
?>

它有用,只是一个注释,由于某种原因它需要尾随斜杠。

代码200表示OK(成功)。