PHP 8.0.0 Beta 4 available for testing


(PHP 5 >= 5.3.2, PHP 7)

stream_resolve_include_pathRésout un nom de fichier suivant les règles du chemin d'inclusion


stream_resolve_include_path ( string $filename ) : string

Résout le nom de fichier filename en utilisant le chemin d'inclusion, en utilisant les mêmes règles que les fonctions fopen()/include.

Liste de paramètres


Le nom de fichier à résoudre.

Valeurs de retour

Retourne une chaîne de caractères contenant le nom de fichier absolu résolu, ou FALSE si une erreur survient.


Exemple #1 Exemple avec stream_resolve_include_path()

Exemple simple d'utilisation.


L'exemple ci-dessus va afficher quelque chose de similaire à :

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

add a note add a note

User Contributed Notes 4 notes

zelnaga at gmail dot com
6 years ago
In case you're running a version of PHP that doesn't have this function...

if (!function_exists('stream_resolve_include_path')) {
     * Resolve filename against the include path.
     * stream_resolve_include_path was introduced in PHP 5.3.2. This is kinda a PHP_Compat layer for those not using that version.
     * @param Integer $length
     * @return String
     * @access public
    function stream_resolve_include_path($filename)
        $paths = PATH_SEPARATOR == ':' ?
            preg_split('#(?<!phar):#', get_include_path()) :
            explode(PATH_SEPARATOR, get_include_path());
        foreach ($paths as $prefix) {
            $ds = substr($prefix, -1) == DIRECTORY_SEPARATOR ? '' : DIRECTORY_SEPARATOR;
            $file = $prefix . $ds . $filename;

            if (file_exists($file)) {
                return $file;

        return false;
tambet dot matiisen at gmail dot com
7 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.
sebastian dot krebs at kingcrunch dot de
9 years ago
It really behaves like `include` and will only resolve the filename against the include-path, if the path is relative. It makes not much sense to resolve already absolute pathnames anyway.
kontakt at victorjonsson dot se
8 years ago
This seems to be a great alternative to file_exists.

if( file_exists(__DIR__.'/som-file.php') )

Goes way slower than:

if( stream_resolve_inlcude_path(__DIR__.'/som-file.php') !== false)
To Top