我在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
个网址。
我错过了什么?
答案 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
(成功)。