include

(PHP 4, PHP 5, PHP 7)

include ������������ָ���ļ���

�����ĵ�Ҳ������ require��

�������ļ��Ȱ�����������·��Ѱ�ң����û�и���Ŀ¼��ֻ���ļ�����ʱ���� include_path ָ����Ŀ¼Ѱ�ҡ������ include_path ��û�ҵ����ļ��� include �����ڵ��ýű��ļ����ڵ�Ŀ¼�͵�ǰ����Ŀ¼��Ѱ�ҡ���������δ�ҵ��ļ��� include �ṹ�ᷢ��һ����������һ��� require ��ͬ�����߻ᷢ��һ������������

���������·��——�����Ǿ���·������ Windows �����̷����� \ ��ͷ���� Unix/Linux ���� / ��ͷ�����ǵ�ǰĿ¼�����·������ . ���� .. ��ͷ��——include_path ���ᱻ��ȫ���ԡ�����һ���ļ��� ../ ��ͷ������������ڵ�ǰĿ¼�ĸ�Ŀ¼��Ѱ�Ҹ��ļ���

�й� PHP ������������ļ��Ͱ���·���ĸ�����Ϣ�μ� include_path ���ֵ��ĵ���

��һ���ļ�������ʱ�������������Ĵ���̳��� include �����е�������Χ���Ӹô���ʼ�������ļ��ڸ��д����õ��κα����ڱ����õ��ļ���Ҳ�����á����������ڰ����ļ��ж���ĺ������඼����ȫ��������

Example #1 ������ include ����

vars.php
<?php

$color 
'green';
$fruit 'apple';

?>

test.php
<?php

echo "A $color $fruit"// A

include 'vars.php';

echo 
"A $color $fruit"// A green apple

?>

��� include �����ڵ����ļ��е�һ��������򱻵��õ��ļ��������������д��뽫���ֵ���ͬ�������ڸú����ڲ������һ��������������ѭ�ú����ı�����Χ���˹����һ��������ħ���������������ڷ�������֮ǰ���ѱ�����������ġ�

Example #2 �����еİ���

<?php

function foo()
{
    global 
$color;

    include 
'vars.php';

    echo 
"A $color $fruit";
}

/* vars.php is in the scope of foo() so     *
 * $fruit is NOT available outside of this  *
 * scope.  $color is because we declared it *
 * as global.                               */

foo();                    // A green apple
echo "A $color $fruit";   // A green

?>

��һ���ļ�������ʱ���﷨��������Ŀ���ļ��Ŀ�ͷ���� PHP ģʽ������ HTML ģʽ�����ļ���β���ָ������ڴ�ԭ��Ŀ���ļ�����Ҫ��Ϊ PHP ����ִ�е��κδ��붼���뱻��������Ч�� PHP ��ʼ�ͽ������֮�С�

���"URL fopen wrappers"�� PHP �б����Ĭ�����ã��������� URL��ͨ�� HTTP ��������֧�ֵķ�װЭ��——��֧�ֵ�Э��ͷ�װЭ���������DZ����ļ���ָ��Ҫ���������ļ������Ŀ���������Ŀ���ļ���Ϊ PHP ������ͣ�������������� HTTP GET �� URL �����ַ������򱻰������ļ����ݱ������ϸ��˵��Ͱ���һ���ļ����̳и��ļ��ı����ռ䲢����һ���£��ýű��ļ�ʵ�����Ѿ���Զ�̷������������ˣ������ؽű��������������

Warning

Windows �汾�� PHP �� 4.3.0 ��֮ǰ��֧��ͨ���˺�������Զ���ļ�����ʹ�Ѿ����� allow_url_fopen.

Example #3 ͨ�� HTTP ���е� include

<?php

/* This example assumes that www.example.com is configured to parse .php *
 * files and not .txt files. Also, 'Works' here means that the variables *
 * $foo and $bar are available within the included file.                 */

// Won't work; file.txt wasn't handled by www.example.com as PHP
include 'http://www.example.com/file.txt?foo=1&bar=2';

// Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
// local filesystem.
include 'file.php?foo=1&bar=2';

// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';

$foo 1;
$bar 2;
include 
'file.txt';  // Works.
include 'file.php';  // Works.

?>

Warning

��ȫ����

Զ���ļ����ܻᾭԶ�̷��������������ļ���׺�Լ�Զ�̷������Ƿ������� PHP �������������������һ���Ϸ��� PHP �ű�����Ϊ�佫�����ط����������������Զ�̷��������ļ�Ӧ����Զ�����ж�ֻ������������ readfile() �������á����⻹Ҫ����С����ȷ��Զ�̵Ľű��������Ϸ�����������Ĵ��롣

�����Ϣ�μ�ʹ��Զ���ļ���fopen() �� file()��

������ֵ����ʧ��ʱ include ���� FALSE ���ҷ������档�ɹ��İ����򷵻� 1�������ڰ����ļ�����������˷���ֵ�������ڱ��������ļ���ʹ�� return �������ֹ���ļ��г����ִ�в����ص������Ľű���ͬ��Ҳ���Դӱ��������ļ��з���ֵ����������ͨ����һ����� include ���õķ���ֵ���������ڰ���Զ���ļ�ʱȴ���У�����Զ���ļ�����������Ϸ��� PHP ��ʼ�ͽ����������ͬ�κα����ļ�һ�����������ڱ���ڶ�������ı������ñ������ļ���������λ��֮��Ϳ����ˡ�

��Ϊ include ��һ����������Խṹ�����������Ҫ���š��ڱȽ��䷵��ֵʱҪע�⡣

Example #4 �Ƚ� include �ķ���ֵ

<?php
// won't work, evaluated as include(('vars.php') == 'OK'), i.e. include('')
if (include('vars.php') == 'OK') {
    echo 
'OK';
}

// works
if ((include 'vars.php') == 'OK') {
    echo 
'OK';
}
?>

Example #5 include �� return ���

return.php
<?php

$var 
'PHP';

return 
$var;

?>

noreturn.php
<?php

$var 
'PHP';

?>

testreturns.php
<?php

$foo 
= include 'return.php';

echo 
$foo// prints 'PHP'

$bar = include 'noreturn.php';

echo 
$bar// prints 1

?>

$bar ��ֵΪ 1 ����Ϊ include �ɹ������ˡ�ע�����������е����𡣵�һ���ڱ��������ļ������� return ����һ��û�С�����ļ����ܱ��������򷵻� FALSE ������һ�� E_WARNING ���档

����ڰ����ļ��ж����к�������Щ������������ return ֮ǰ����֮����ģ������Զ��������ļ���ʹ�á�����ļ����������Σ�PHP 5 ��������������Ϊ�����Ѿ������壬���� PHP 4 ������� return ֮����ĺ��������Ƽ�ʹ�� include_once �����Ǽ���ļ��Ƿ��Ѱ������ڰ����ļ������������ء�

��һ���� PHP �ļ�"����"��һ�������еķ�������������ƺ������ include ����������������磺

Example #6 ʹ������������� PHP �ļ�������һ���ַ���

<?php
$string 
get_include_contents('somefile.php');

function 
get_include_contents($filename) {
    if (
is_file($filename)) {
        
ob_start();
        include 
$filename;
        
$contents ob_get_contents();
        
ob_end_clean();
        return 
$contents;
    }
    return 
false;
}

?>

Ҫ�ڽű����Զ������ļ����μ� php.ini �е� auto_prepend_file �� auto_append_file ����ѡ�

Note: ��Ϊ��һ�����Թ�����������һ�����������ܱ� �ɱ亯�� ���á�

�μ� require��require_once��include_once��get_included_files()��readfile()��virtual() �� include_path��