I have this piece of code in PHP:
if (file_exists($_POST['current_folder'])) {
//do something
}
But file_exists
always returns false. The value passed to the function is:
echo $_POST['current_folder']); //This prints: http://localhost/wordpress/wp-content/music
I also tried with different folders on the localhost. The function always returns false.
I also tried is_dir()
. But even this function returns false with the above URL.
There are many related questions on Stack Overflow. But most of them suggest that file_exists
only works with relative URLs. But from this link it is clear that http://
URLs are also supported by the file_exists
function.
What am I missing?
Use directory path; not web URL:
<?php
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
Tested under windows using Apache 2.4.9.
<?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';
?>
It works, just a note, it requires trailing slash for some reason.
Code 200
means OK
(success).
来源:https://stackoverflow.com/questions/28931386/file-exists-not-working-with-localhost-url