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

→ Ссылка