__FILE__

这个默认常量是 PHP 程序文件名。若引用文件 (include 或 require)则在引用文件内的该常量为引用文件名,而不是引用它的文件名。

__LINE__

这个默认常量是 PHP 程序行数。若引用文件 (include 或 require)则在引用文件内的该常量为引用文件的行,而不是引用它的文件行。

PHP_VERSION

这个内建常量是 PHP 程序的版本,如 ‘3.0.8-dev’。

PHP_OS

这个内建常量指执行 PHP 解析器的操作系统名称,如 ‘Linux’。

TRUE

这个常量就是真值 (true)。

FALSE

这个常量就是伪值 (false)。

E_ERROR

这个常量指到最近的错误处。

E_WARNING

这个常量指到最近的警告处。

E_PARSE

本常式为解析语法有潜在问题处。

E_NOTICE

这个常式为发生不寻常但不一定是错误处。例如存取一个不存在的变量。

define() 的功能可以让我们自行定义所需要的常量。见下例

<?php

define(“COPYRIGHT”, “Copyright &copy; 2000, netleader.126.com”);

echo COPYRIGHT;

?>

2.

__LINE__
文件中的当前行号。

__FILE__
文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自 PHP 4.0.2 起,

__FILE__

总是包含一个绝对路径,而在此之前的版本有时会包含一个相对路径。

__FUNCTION__
函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。

__CLASS__
类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。

__METHOD__
类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。

3.

1)dirname(__FILE___) 函数返回的是脚本所在在的路径。

比如文件 b.php 包含如下内容:

<?php

$basedir = dirname(__FILE__);

?>

如果b.php被其他目录里的a.php文件require 或者 include 去引用的话。

变量$basedir 的内容还是b.php所在的那个文件夹的路径。

而不是变成a.php文件所在的目录。

2)dirname(__FILE__) 一般会返回文件所的当前目录到系统根目录的一个目录结构。

不会返回当前的文件名称。

dirname(__FILE__) 也可能返回一个 . (当前目录)

[原因是 b.php 文件在 http.conf 或者 PHP 配置开发环境的默认WEB目录下.

比如 WEB_ROOT 为: "C:/root/www/".]

b.php文件路径为: “C:/root/www/b.php”.

3)使用方法提示

如果重复一次可以把目录往上提升一个层次:

比如:$d = dirname(dirname(__FILE__));

其实就是把一个目录给dirname()做参数了.因为dirname()返回最后的目录不带\\或者是/

所以重复使用的时候可以认为 dirname() 把最下层的目录当成文件名来处理了.照常返回

当前目录的上级目录.这样重复就得到了它的上一级的目录.

4)包含得到上一级目录的文件

include(dirname(__FILE__).’/../filename

本文出处:http://hi.baidu.com/dongxiao_08/item/5a5410ed7c35d6a52e140b5a

PHP 系统常量及自定义常量的更多相关文章

  1. thinkphp系统常量与自定义常量

    ----------------------------------------Action中使用的系统常量 ----------------------------------------THINK ...

  2. DEDECMS中的几个常见的自定义常量DEDEMEMBER等位置

    http://www.dede58.com/a/dedejq/3567.html dedecms新建栏目时默认都是允许投稿的,可以投稿本来对网站来说是件好事,但是dedecms是开源的,使用太广泛了, ...

  3. php快速获取所有的自定义常量用户常量

    快速获取自定义的常量.用户常量 echo "<pre>"; print_r(get_defined_constants(true)['user']); echo &qu ...

  4. laravel 添加自定义类 全局自定义方法 自定义常量

    添加自定义类 https://blog.csdn.net/suchfool/article/details/38758367 https://blog.csdn.net/liukai6/article ...

  5. laravel 自定义常量方法

    laravel 自定义常量方法 版本5以上验证OK 常量定义方案A: step1 按路径生成constants文件app/config/constants.php step2 constants文件里 ...

  6. Java 自定义常量

    Java 中的常量就是初始化或赋值后不能再修改,而变量则可以重新赋值. 我们可以使用Java 关键字 final 定义一个常量,如下 final double PI = 3.14; 注意:为了区别 J ...

  7. C#静态常量和动态常量的区别

    C#拥有两种不同的常量:静态常量(compile-time constants)和动态常量(runtime  constants).它们有不同的特性,错误的使用不仅会损失效率,还可能造成错误.相比之下 ...

  8. 常量函数、常量引用参数、常量引用返回值[C++]

    1. 关于常量引用正像在C语言中使用指针一样,C++中通常使用引用 有一个函数... foo()并且这个函数返回一个引用...... & foo()...., 一个指向位图(Bitmap)的引 ...

  9. C++常量(C++数值常量、字符串常量、符号常量)

    http://see.xidian.edu.cn/cpp/biancheng/view/104.html 字符串常量 用双撇号括起来的部分就是字符串常量,如"abc"," ...

随机推荐

  1. akka构建简单分布式应用

    http://www.cnblogs.com/hequn/articles/3764630.html 当程序的要求达到一台计算机的极限时,我们便需要将程序分布式化,让程序运行在多台计算机上.akka提 ...

  2. asp正则过滤重复字符串的代码

    asp下过滤重复字符串的代码,有时候我们需要过滤一些重复的字符串,下面的代码即可解决这个问题 比如 1223445677777778aabbcccccccccc 经过过滤之后就是12345678abc ...

  3. ACM——数的计算

    数的计算——(递归(超时)和非递归) 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte总提交:1050            测试通过:31 ...

  4. 数据库字段出现科学计数法e+的情况分析

    问题: 有时候,我们在将excel表格中数据导入数据库中时,对于表格中的数字会默认为float的数据类型,这个时候导入到数据库中的这个表的值是正常显示的: 然而如果你要把导入到数据库中的表,再插入到另 ...

  5. 12天学好C语言——记录我的C语言学习之路(Day 3)

    12天学好C语言--记录我的C语言学习之路 Day 3: 不知不觉到了第三天的学习,我们前两天学习的东西很杂乱,各个方面都有学习.我觉得这不是不系统,也不是学的不扎实,这种学习对于初学者而言我认为是很 ...

  6. @Transactional详解

    @Transactional     spring 事务注解 默认遇到throw new RuntimeException("...");会回滚需要捕获的throw new Exc ...

  7. 修改placeholder颜色

    #contact_info为textarea的ID #contact_info::-webkit-input-placeholder{ color:#999;}#contact_info:-moz-p ...

  8. Mysql 的变量

    变量 MySQL是一门编程语言.所以存在变量.流程控制.函数.存储过程.触发器 MySQL分系统变量,与自定义变量 MySQL的某些功能是通过系统变量来实现的.例如:autocommit 查看系统变量 ...

  9. HDU 1058 Humble Number

    Humble Number Problem Description A number whose only prime factors are 2,3,5 or 7 is called a humbl ...

  10. C++(指针)

    指针在编程中有时很重要的作用 我们可以用它完成一些看似不可能完成的任务 #include<iostream>using namespace std;void square(int *n){ ...