Это код, который я использую (это файл index.php)
/* Set an include path
*/
$dir = explode('/', __DIR__);
$i = count($dir);
unset($dir[$i-1], $dir[$i-2]);
$path = implode('/', $dir);
ini_set('include_path', $path);
// require('system/base/file.php'); // ***1
/* Starter file
*/
if (file_exists('system/base/file.php')) { require('system/base/file.php'); }
else { exit('Error'); }
Я разрабатываю фреймворк с такой структурой
application/
public/
index.php
system/
И я хочу установить путь включения к корню / (папка, в которой находятся приложение / и система /). __DIR__
дает мне много вещей, таких как Application/xammp/htdocs/application/public/index.php
(в localhost); Я не совсем уверен, что клиенты __DIR__
сильно отличаются, учитывая, что я вообще ничего не знаю о пути. Я только что написал эти первые несколько строк, чтобы легко удалить последние 2 папки из DIR , поэтому я уверен, что путь правильный, какой бы __DIR__
ни был. Я протестировал эти строки в другом тестовом режиме, и они работают нормально.
Странная вещь, которая случается, состоит в том, что, если я запускаю код, как он там показан, он выдает мне «Ошибка». Хотя, если мне просто нужно system/base/file.php
перед проверкой его существования, это работает. Поэтому, если я раскомментирую (*** 1), файл необходим.