ScotlandPHP
    earfix"> get_loaded_extensions » « get_include_path earfix">
    Edit Report a Bug get_included_files (PHP 4, PHP 5, PHP 7)

    get_included_files — Devuelve un array con los nombres de los archivos incluidos o requeridos

    Descripción array get_included_files ( void ) Obtiene los nombres de todos los archivos que han sido incluidos usando include, include_once, require o require_once.

    Valores devueltos Devuelve un array con los nombres de los archivos.

    El script llamado originalmente es considerado un "archivo incluido", así que será listado junto con los archivos referenciados por la familia de funciones include.

    Los archivos que son incluidos o requeridos múltiples veces solo aparecen una vez en el array devuelto.

    Ejemplos

    Ejemplo #1 Ejemplo de get_included_files()

    <?php
    // Este archivo es abc.php

    include 'test1.php';
    include_once 'test2.php';
    require 'test3.php';
    require_once 'test4.php';

    $archivos_incluidos get_included_files();

    foreach ($archivos_incluidos as $nombre_archivo) {
        echo "$nombre_archivo\n";
    }

    ?>

    El resultado del ejemplo sería:

    /path/to/abc.php
    /path/to/test1.php
    /path/to/test2.php
    /path/to/test3.php
    /path/to/test4.php
    

    Notas

    Nota: Los archivos incluidos usando la directiva de configuración auto_prepend_file no son incluidos en el array devuelta.

    Ver también include - include include_once - include_once require - require require_once - require_once get_required_files() - Alias de get_included_files

    add a note add a note User Contributed Notes 5 notes up down 12 keystormd:at: gmailddotcom 13 years ago As of PHP5, this function seems to return an array with the first index being the script all subsequent scripts are included to.
    If index.php includes b.php and c.php and calls get_included_files(), the returned array looks as follows:

    index.php
    a.php
    b.php

    while in PHP<5 the array would be:

    a.php
    b.php

    If you want to know which is the script that is including current script you can use $_SERVER['SCRIPT_FILENAME'] or any other similar server global.

    If you also want to ensure current script is being included and not run independently you should evaluate following expression:

    __FILE__ != $_SERVER['SCRIPT_FILENAME']

    If this expression returns TRUE, current script is being included or required.
    up down 1 yarcoddot w at gmailddot com 10 years ago If you have a MAIN php script which you don't want to be included by other scripts, you could use this function. For example:

    main.php:
    <?php
    function blockit ()
    {
      $buf = get_included_files ();
      return $buf [ 0 ] != __FILE__ ;
    }

    blockit () and exit( "You can not include a MAIN file as a part of your script." );

    print "OK" ;
    ?>

    So other script couldn't include main.php to modify its internal global vars.
    up down 1 RPaseur at NationalPres dot org 11 years ago As is often the case, YMMV.  I tried the __FILE__ and SCRIPT_FILENAME comparison and found this:

    SCRIPT_FILENAME: /var/www/cgi-bin/php441
    __FILE__: /raid/home/natpresch/natpresch/RAY_included.php

    As an alternative:

    count(get_included_files());

    Gives one when the script is standalone and always more than one when the script is included.
    up down 0 donikuntoro at integraaspddot com 6 years ago This function aims to performdfiltering of files that have been included :

    <?php
    function setIncludeFiles ( $arrayInc = array()){
        $incFiles = get_included_files ();
        if(( count ( $arrayInc )> 0 )&&( count ( $incFiles )> 0 )){
            $aInt = array_intersect ( $arrayInc , $incFiles );
            if( count ( $aInt )> 0 ){
                return false ;
           }elseif( count ( $aInt )< 1 ) {
            foreach( $arrayInc as $inc ){
                if( is_file ( $inc ))
                    include( $inc );
                else{
                    return false ;
                }
            }
           }   
        }else{
            return false ;
        }
    }
    ?>

    Usage :

    <?php
    $toBeInclude = array( '/data/your_include_files_1.php' ,
    '/data/your_include_files_2.php' ,
    '/data/your_include_files_3.php' ,
    );
    setIncludeFiles ( $toBeInclude );
    ?>

    Return false if something goes wrong.
    up down -9 indigohaze at gmailddot com 11 years ago Something that's not noted in the docs, if a file is included remotely and you do a get_included_files() in the include itself it will *not* return the document that included it.

    ie:
    test2.php (server 192.168.1.14):
    <?php

    include( "http://192.168.1.11/test/test3.php" );

    ?>

    test3.php (server 192.168.1.11):

    <?php

    $files = get_included_files ();

    print_r ( $files );
    ?>

    returns:

    Array ( [0] => /var/www/localhost/htdocs/test/test3.php )

    Which means you can use get_included_files() to help intercept and prevent XSS-style attacks against your code.
    add a note add a note
  • Funciones de Opciones/Info de PHP asoert_​options
  • Aoerción cli_​get_​process_​title cli_​set_​process_​title dl extension_​loaded gc_​collect_​cycles gc_​disable gc_​enable gc_​enabled gc_​mem_​caches get_​cfg_​var get_​current_​user get_​defined_​constants get_​extension_​funcs get_​include_​path get_​included_​files get_​loaded_​extensions get_​magic_​quotes_​gpc get_​magic_​quotes_​runtime get_​required_​files get_​resources getenv get getmygid getmyinode getmypid getmyuid getopt getrusage ini_​alter ini_​get_​all ini_​get ini_​restore ini_​set magic_​quotes_​runtime main memory_​get_​peak_​usage memory_​get_​usage php_​ini_​loaded_​file php_​ini_​scanned_​files php_​logo_​guid php_​sapi_​name php_​uname phpcredits phpinfo phpversion putenv restore_​include_​path set_​include_​path set_​magic_​quotes_​runtime set_​time_​limit sys_​get_​temp_​dir version_​compare zend_​logo_​guid zend_​thread_​id zend_​version To Top