PHP中include、require、include_once和require_once有什么区别?
大家好!我刚开始学习PHP,完全搞不懂这四种文件包含结构的区别。它们似乎都在做同一件事——从另一个文件中插入代码。
我有一个包含数据库设置的config.php文件:
<?php
$host = 'localhost';
$db = 'mydb';
$user = 'root';
$pass = '';
?>
我在index.php中用不同方式包含它:
<?php
include 'config.php';
// 或
require 'config.php';
// 或
include_once 'config.php';
// 或
require_once 'config.php';
?>
所有四种方式都能工作,我能看到config.php中的变量。那区别到底在哪里?什么时候该用哪个?
我还注意到一件奇怪的事:如果我写两次include 'config.php',就会收到变量被重新定义的错误。但用include_once就没有这个问题。为什么会这样?
最重要的是——如果文件不存在会发生什么?