stream_resolve_include_path

(PHP 5 >= 5.3.2, PHP 7, PHP 8)

stream_resolve_include_path Разрешает имя файла через пути включения

Описание

stream_resolve_include_path(string $filename): string|false

Функция разрешает имя файла filename через пути включения по тем же правилам, что и функция fopen()/include.

Список параметров

filename

Имя файла для разрешения.

Возвращаемые значения

Функция возвращает строку (string), которая содержит полное имя файла, которое разрешила функция, или false, если возникла ошибка.

Примеры

Пример #1 Пример использования функции stream_resolve_include_path()

Основной пример использования.

<?php

var_dump
(stream_resolve_include_path("test.php"));

?>

Вывод приведённого примера будет похож на:

string(22) "/var/www/html/test.php"

Добавить

Примечания пользователей 2 notes

up
5
tambet dot matiisen at gmail dot com
12 years ago
stream_resolve_include_path() seems to cache it's output. After I renamed a file, I had to restart Apache for stream_resolve_include_path() to not return non-existing file name. This was on Windows.
up
2
kawewong at gmail dot com
4 years ago
In some case like this, you can't use `realpath()` or `file_exists()` without resolve its path.Example:file.phpsubfolder/..|- included.php..|- subfolder/.........|- another-included.phpfile.php contents:```<?phpvar_dump(file_exists('subfolder/included.php'));// trueinclude 'subfolder/included.php';?>```subfolder/included.php contents:```<?phpvar_dump(file_exists('subfolder/another-included.php'));// false but the file is really exists.var_dump(file_exists(stream_resolve_include_path('subfolder/another-included.php')));// with `stream_resolve_include_path()` function, it returns true now.include 'subfolder/another-included.php';// working fine, no errors.?>```subfolder/subfolder/another-included.php contents:```<?phpecho 'Hello world';?>```
To Top