У меня есть сайт Apache / PHP, работающий на Drobo5n в Linux.
utilities.php находится в / Choir / inc
hitCounter.txt находится в / Choir / etc / tbc
В utilities.php у нас есть следующая строка кода:
$hits = file_get_contents('../etc/tbc/hitCounter.txt');
Который производит эту ошибку:
Предупреждение: file_get_contents (../ etc / tbc / hitCounter.txt): не удалось открыть
поток: нет такого файла или каталога в
/mnt/DroboFS/Shares/DroboApps/apache/www/Choir/inc/utilities.php
по строке 6
Это мой первый раз возиться с PHP, и я не могу понять, почему он не может найти файл. Я пробовал как одинарные, так и двойные кавычки по пути, но безрезультатно.
Я знаю, что кто-то спросит полный код, так что вот файл utilities.php:
<?php
session_cache_limiter('private_no_expire');
session_start();
function getHitCount() {
$hits = file_get_contents('../etc/tbc/hitCounter.txt');
if (!isset ($_SESSION['beenHere'])) {
$hits = $hits + 1;
file_put_contents('../etc/tbc/hitCounter.txt', "$hits");
$_SESSION['beenHere'] = "Yes I have";
}
return $hits;
}
?>
1) Должен указать путь к файлу. Трудно сказать в этом случае. У нас должна быть корневая папка приложения.
Если мы будем следовать шаблону MVC, мы легко получим корневую папку приложения.
Например https://github.com/daveh/php-mvc
Мне что то нравится
$file = APP_ROOT . '/etc/tbc/hitCounter.txt';
#APP_ROOT has the path /mnt/DroboFS/Shares/DroboApps/apache/www/Choir
2) Проверить file_exists
if (!file_exists($file)) {
//Throw error here
}
3) Проверьте: is_readable
if (!is_readable($File)) {
......
}
Других решений пока нет …