lihu129c 发表于 2018-12-21 13:16:57

php include和require的区别

  include()
  The include() 语句包括并运行指定文件。
  以下文档也适用于 require()。这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用 require()。include() 就不是这样,脚本会继续运行。同时也要确认设置了合适的 include_path。
  当一个文件被包括时,其中所包含的代码继承了 include 所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。
  例子 12-3. 基本的 include() 例子
  vars.php
  
  test.php
  
  如果 include 出现于调用文件中的一个函数里,则被调用的文件中所包含的所有代码将表现得如同它们是在该函数内部定义的一样。所以它将遵循该函数的变量范围。
  例子 12-4. 函数中的包括
  
  当一个文件被包括时,语法解析器在目标文件的开头脱离 PHP 模式并进入 HTML 模式,到文件结尾处恢复。由于此原因,目标文件中应被当作 PHP 代码执行的任何代码都必须被包括在有效的 PHP 起始和结束标记之中。
  如果“URL fopen wrappers”在 PHP 中被激活(默认配置),可以用 URL(通过 HTTP)而不是本地文件来指定要被包括的文件。如果目标服务器将目标文件作为 PHP 代码解释,则可以用适用于 HTTP GET 的 URL 请求字符串来向被包括的文件传递变量。严格的说这和包括一个文件并继承父文件的变量空间并不是一回事;该脚本文件实际上已经在远程服务器上运行了,而本地脚本则包括了其结果。
  警告
  Windows 版本的 PHP 目前还不支持该函数的远程文件访问,即使 allow_url_fopen 选项已被激活。
  例子 12-5. 通过 HTTP 进行的 include()
  
页: [1]
查看完整版本: php include和require的区别