file_exists() постоянно возвращает false
Все варианты были перепробованы, постоянно возвращает false; safe_mode = Off. В чём может быть ошибка?
<?php
$home = $_SERVER["DOCUMENT_ROOT"];
if(isset($_POST['name'])){
//$fileName = $_SERVER["DOCUMENT_ROOT"] . "/php12/" . $_POST['name'];
if (file_exists($_POST['name'])) {
echo "Файл $fileName существует";
$openFile = fopen($_POST['name'], 'r');
while (!feof($openFile)) {
$text = fgets($openFile);
echo $text . "<br>";
}
fclose($openFile);
}
else echo "Файл $fileName не существует";
}
?>
Ответы (1 шт):
Автор решения: Sanya H
→ Ссылка
потому что у Вас нету файла по указанному пути!
Отталкивайтесь от $_SERVER["DOCUMENT_ROOT"] - она указывает на корневую директорию Вашего проекта (если конечно ее не испортили настройками сервера).
Вот это
file_exists($_POST['name'])
проверяет наличие указанного файла, начиная от директории, где размещен файл текущего скрипта.
Поэтому проверяйте куда указывает $_SERVER["DOCUMENT_ROOT"] и стройте от него путь к файлу, как вы делали в закомментированной строке
$fileName = $_SERVER["DOCUMENT_ROOT"] . "/php12/" . $_POST['name'];
if (file_exists( $fileName )) {...}
При этом $_SERVER["DOCUMENT_ROOT"] должно возвращать примерно такое значение: /var/www/your_project_name