0

在这种情况下,我使用:

<?php 
include_once 'connect.php'; # connect with MySQL database
# some PHP code
?>

<!-- some HTML code -->

<?php 
# here PHP code wants to use MySQL connection opened before
?>

我什至应该在第二个 PHP 标记中包含_once 吗?

4

3 回答 3

2

include_once 语句在脚本执行期间包含并评估指定的文件。这是一种类似于 include 语句的行为,唯一的区别是如果文件中的代码已经被包含,它将不会再次被包含。顾名思义,它将仅包含一次。

所以如果connect.php被包含一次就不会再被包含

例如

<?php 
     include(a.php)  //it will include a.php
     include(b.php)  //it will include b.php
     include(a.php)  //it will include a.php again
?>

<?php 
     include_once(a.php)  //it will include a.php
     include_once(b.php)  //it will include b.php
     include_once(a.php)  //does nothing
?>
于 2012-09-10T12:19:17.187 回答
1

如果文件在同一个请求/页面中,则不需要重新包含文件。

此外, usinginclude_once将阻止您包含已包含的文件。

您可以再次使用之前包含的变量和连接connect.php

于 2012-09-10T12:19:02.263 回答
0

当您关闭 PHP 标记时,您不会关闭 Session,并且包含的​​代码将在您选择打开或关闭的所有 php 标记中保持可用。

例子

- index.php
  - includes once connect.php
  - includes once foo.php
  - includes bar.php

- foo.php
  - Contains scope from connect.php

- bar.php
  - Contains scope from connect.php
  - Contains scope from foo.php

include 和 include_once 之间的唯一区别是,如果您多次包含同一个文件,它仍然只会被包含一次。

示例包括

<?php
    include ( 'connect.php' ); // Includes an evaluates code.
    include ( 'connect.php' ); // Includes an evaluates code.
    include ( 'connect.php' ); // Includes an evaluates code.
?>

示例 Include_once

<?php
    include_once ( 'connect.php' ); // Includes an evaluates code.
    include_once ( 'connect.php' ); // Does nothing.
    include_once ( 'connect.php' ); // Does nothing.
?>

如果您的应用程序使用包含库的模块,这将非常有用。为了确保它不会多次包含同一个库,当它只需要一次时,请使用 include_once。

于 2012-09-10T12:24:31.990 回答