include()和requier()函数
PHP也提供了两种非常有用的函数以将文件引入到PHP脚本中:include()和requier()函数。这些函数可用于吸取外部文件锁,并将之存储及装入PHP脚本中,如果(例如)你有一模块化应用程序,该模块化应用程序将其代码分解到不同位置的不同文件中,该方法可非常容易地做到这一点。
理解include()和require()函数最好的方法就是使用例子。假定在你的Web站点上,你在每一个页面顶部都有一个标准的菜单条,在底部具有一个标准的版权声明。PHP权威仅仅为标题和页脚创建单独的文件,然后将它们引入到每个脚本的顶部和底部而不是在每个单独的页面中复制和粘贴标题和页脚的代码。这也使得对站点设计的改变更加容易实现:你不需要手工编辑大量的文件,你只要简单编辑两个文件即可,然后这些变化就立即反映到整个站点上。
让我们看一个起作用的真实鲜活的例子。在一个文件中创建标题,将其命名为:header.php:
<html> <head> <title><?php echo $page['title'];?></title> </head> <body> <!-- top menu bar --> <table width="90%" border="0" cellspacing="5" cellpadding="5"> <tr> <td><a href="#">Home</a></td> <td><a href="#">Site Map</a></td> <td><a href="#">Search</a></td> <td><a href="#">Help</a></td> </tr> </table> <!-- header ends -->
其次,在第二个文件中创建具有版权声明的页脚,footer.php:
<!-- footer begins --> <br /> <center>Your usage of this site is subject to its published
<a href="tac.html">terms and conditions</a>. Data is copyright Big Company Inc,
1995-<?php echo date("Y", mktime()); ?></center> </body> </html>
最后,创建一个显示站点主要内容的脚本,然后在适当的位置包含标题和页脚文件:
<?php // create an array to set page-level variables $page = array(); $page['title'] = 'Product Catalog'; /* once the file is imported, the variables set above will become available to it */ // include the page header include('header.php'); ?> <!-- HTML content here --> <?php // include the page footer include('footer.php'); ?>
现在,当你运行上述脚本时,PHP将会自动读取标题和页脚文件,将其和HTML内容合并在一起,然后将完整的页面显示给你。很简单,不是吗?
请注意,你甚至可以在被引入的文件中编写PHP代码。当文件第一次被读入时,解析器会寻找<?php...?>标签,然后自动执行其内部的代码。(如果你对JavaScript脚本语言熟悉的话,那么你可以使用该特征来重复类似于JavaScript中的onLoad()页面事件处理器功能的这种功能)。
PHP也提供了require_once()和include_once()函数,该等函数保证了已经被读入的文件不会再被读取。如果你面临你打算排除对由于性能原因或者为避免变量空间冲突的同样包含的文件的多次读取的情形,那么这两个函数可以派的上用场。
对include()和require()函数之间的差异的快捷解释:如果指定的文件没有找到,require()函数会返回一个致命错误并停止脚本的处理,而include()函数返回一个警告但允许脚本处理继续进行。