PHP 8.4.2 Released!

stream_resolve_include_path

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

stream_resolve_include_path Resolve o nome do arquivo em relação ao caminho de include

Descrição

stream_resolve_include_path(string $filename): string|false

Resolve filename em relação ao caminho de include de acordo com as mesmas regras que fopen()/include.

Parâmetros

filename

O nome de arquivo a resolver.

Valor Retornado

Retorna uma string contendo o caminho absoluto para o arquivo, ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de stream_resolve_include_path()

Exemplo básico de uso.

<?php
var_dump
(stream_resolve_include_path("test.php"));
?>

O exemplo acima produzirá algo semelhante a:

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

adicione uma nota

Notas Enviadas por Usuários (em inglês) 2 notes

up
5
tambet dot matiisen at gmail dot com
11 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
3 years ago
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';
?>
```
To Top