Как исправить или выполнить проверку на наличие файла/директории? [дубликат]

54
18 октября 2021, 23:30
На этот вопрос уже дан ответ здесь:
PHP, require ../ (1 ответ)
Закрыт 1 год назад.

Использую автозагрузку классов:

<?php ## Постраничная навигация по папке
// Временная автозагрузка классов
spl_autoload_register(function ($class) {
    require_once("pager/src/{$class}.php");
});
$obj = new ISPager\DirPager(new ISPager\PagesList(), 'photos', 3, 2);
// Содержимое текущей страницы
foreach ($obj->getItems() as $img) {
    echo "<img src='$img' /> ";
}
// Постраничная навигация
echo "<p>$obj</p>";

Но приложение падает с ошибкой:

( ! ) Warning: require_once(pager/src/ISPager\DirPager.php): failed to open stream: No such file or directory in /var/www/php.xxx/composer/dir.php on line 4
Call Stack
#   Time    Memory  Function    Location
1   0.0001  392832  {main}( )   .../dir.php:0
2   0.0001  394000  spl_autoload_call ( )   .../dir.php:7
3   0.0001  394048  {closure:/var/www/php.xxx/composer/dir.php:3-5}( )  .../dir.php:7
( ! ) Fatal error: require_once(): Failed opening required 'pager/src/ISPager\DirPager.php' (include_path='.:/usr/share/php') in /var/www/php.xxx/composer/dir.php on line 4

Как исправить данную ошибку?

Answer 1

Нужно заменить все левые слеши на правые. Примерно так:

spl_autoload_register(function ($class) {
    $class = str_replace("\\", "/", $class);
require_once("pager/src/{$class}.php");
});
READ ALSO
selector + csv //

selector + csv //

Существует форма регистрации, в которой необходимо выбирать страны из спискаЭтот список хранится в csv файле, как мне его достать оттуда и положить...

67
Почему не срабатывает код PHP из книги.На тему генераторов и то что их можно комбинировать

Почему не срабатывает код PHP из книги.На тему генераторов и то что их можно комбинировать

Обычно в книгах, когда говорят о каком-то коде, то он может быть раскидан по всей главеПорой даже переходить из одной главы в другую

139
Как вывести параметры категории из бд

Как вывести параметры категории из бд

Из фронтенда решил перейти в бэкенд, подскажите пожалуйста, как происходит вывод данных выбранной категории, единственный момент который...

165
Call to undefined function mysqli_init() DEBIAN 9

Call to undefined function mysqli_init() DEBIAN 9

Пересмотрел кучу вопросов и попробовал кучу решений, но проблема все равно осталасьРасширение php-mysqlnd тоже установлено

150