У меня есть этот кусок кода в PHP:
if (file_exists($_POST['current_folder'])) {
//do something
}
Но file_exists
всегда возвращает ложь. Значение, переданное функции:
echo $_POST['current_folder']); //This prints: http://localhost/wordpress/wp-content/music
Я также пробовал с разными папками на локальном хосте. Функция всегда возвращает false.
Я тоже пробовал is_dir()
, Но даже эта функция возвращает false с указанным выше URL.
Есть много связанных вопросов о переполнении стека. Но большинство из них предполагают, что file_exists
работает только с относительными URL. Но из эта ссылка ясно, что http://
URL-адреса также поддерживаются file_exists
функция.
Что мне не хватает?
Использовать путь к каталогу; не веб-URL:
<?php
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}
?>
Протестировано под Windows с использованием 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';
?>
Оно работает, просто записка, по какой-то причине требуется косая черта.
Код 200
средства OK
(Успех).