stream_resolve_include_path
(PHP 5 >= 5.3.2)
stream_resolve_include_path — Resolve filename against the include path
Description
string stream_resolve_include_path
( string
$filename
)
Resolve filename
against the include path according to the same rules as fopen()/include.
Parameters
-
filename
-
The filename to resolve.
Return Values
Returns a string containing the resolved absolute filename, or FALSE
on failure.
Examples
Example #1 stream_resolve_include_path() example
Basic usage example.
<?php
var_dump(stream_resolve_include_path("test.php"));
?>
The above example will output something similar to:
string(22) "/var/www/html/test.php"
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Другие базовые расширения
- Потоки
- set_socket_blocking
- stream_bucket_append
- stream_bucket_make_writeable
- stream_bucket_new
- stream_bucket_prepend
- stream_context_create
- stream_context_get_default
- stream_context_get_options
- stream_context_get_params
- stream_context_set_default
- stream_context_set_option
- stream_context_set_params
- stream_copy_to_stream
- stream_encoding
- stream_filter_append
- stream_filter_prepend
- stream_filter_register
- stream_filter_remove
- stream_get_contents
- stream_get_filters
- stream_get_line
- stream_get_meta_data
- stream_get_transports
- stream_get_wrappers
- stream_is_local
- stream_notification_callback
- stream_register_wrapper
- stream_resolve_include_path
- stream_select
- stream_set_blocking
- stream_set_chunk_size
- stream_set_read_buffer
- stream_set_timeout
- stream_set_write_buffer
- stream_socket_accept
- stream_socket_client
- stream_socket_enable_crypto
- stream_socket_get_name
- stream_socket_pair
- stream_socket_recvfrom
- stream_socket_sendto
- stream_socket_server
- stream_socket_shutdown
- stream_supports_lock
- stream_wrapper_register
- stream_wrapper_restore
- stream_wrapper_unregister
Коментарии
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.
In some case like this, you can't use `realpath()` or `file_exists()` without resolve its path.
Example:
file.php
subfolder/
..|- included.php
..|- subfolder/
.........|- another-included.php
file.php contents:
```
<?php
var_dump(file_exists('subfolder/included.php'));// true
include 'subfolder/included.php';
?>
```
subfolder/included.php contents:
```
<?php
var_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:
```
<?php
echo 'Hello world';
?>
```