我们在使用各大cms或者各种php程序的时候,一般都会有一个config.php文件,这个文件主要是用来配置站点的各种信息,在这个文件中,define函数的使用次数是很多的。

定义和用法

define() 函数定义一个常量。

常量类似变量,不同之处在于:

  • 在设定以后,常量的值无法更改
  • 常量名不需要开头的美元符号 ($)
  • 作用域不影响对常量的访问
  • 常量值只能是字符串或数字

语法

1
define(name,value,case_insensitive)
参数 描述
name 必需。规定常量的名称
value 必需。规定常量的名称。
case_insensitive 可选。规定常量的名称是否对大小写敏感。若设置为 true,则对大小写不敏感。默认是 false(大小写敏感)。

实例

通过define()函数,我们可以定义一些基本上不需要修改的值,比如数据库的连接地址,或者账号以及密码。

1
2
3
define(APP_NAME,"咖姬");//定义app名称

define(MYSQL_DATABASE,"kaygb");//定义数据库名称

当然,定义的每一个常量的值也可以通过变量去获取。

1
2
$app_name="咖姬";
define(APP_NAME,$app_name);

调用方式也很简单

1
2
3
$app_name="咖姬";
define(APP_NAME,$app_name);
echo APP_NAME;

多文件调用

如果我们有两个php文件

  • config.php
  • index.php

我们需要在index.php文件中获取config.php的内容,那么只需要在index.php中添加include_once()函数即可

1
2
3
4
5
6
//config.php

$app_name="咖姬";

define(APP_NAME,$app_name);
define(MYSQL_DATABASE,"kaygb");//定义数据库名称
1
2
3
4
//index.php
include_once('config.php');
echo APP_NAME;
echo MYSQL_DATABASE;

PHP获取当前域名或者路径

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//获取当前的域名:  

echo $_SERVER['SERVER_NAME'];

//获取来源网址,即点击来到本页的上页网址

echo $_SERVER["HTTP_REFERER"];

$_SERVER['REQUEST_URI'];//获取当前域名的后缀

$_SERVER['HTTP_HOST'];//获取当前域名

dirname(__FILE__);//获取当前文件的物理路径

dirname(__FILE__)."/../";//获取当前文件的上一级物理路径

使用define()定义当前域名,并进行调用输出

首先在config.php文件中定义常量

1
2
3
define(APP_NAME,"咖姬");
//获取当前域名
define(SERVER,$_SERVER['SERVER_NAME']);

接下来在index.php文件输出

1
2
3
include_once('config.php');
echo APP_NAME; //咖姬
echo SERVER; //127.0.0.1