__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. 搭建eclipse+maven+scala-ide的scala web开发环境

    http://www.tuicool.com/articles/NBzAzy 江湖传闻,scala开发的最佳利器乃 JetBrains 的神作 IntelliJ IDEA ,外加构建工具sbt 是也. ...

  2. aspjpeg 半透明描边的实现函数

    '参数说明 'big 原图路径(相对) 'small 生成图路径(相对) 'width_s 生成后宽度(数值型) 'height_s生成后高度(数值型) 'images/Alpha.jpg 为一个像素 ...

  3. Android Drawable系列(1):自定义背景以及注意事项

    0. Shape自身属性 android:shape=["rectangle" | "oval" | "line" | "ring ...

  4. xxx is not in the sudoers file.This incident will be reported.的解决方法

    1.切换到root用户下,怎么切换就不用说了吧,不会的自己百度去. 2.添加sudo文件的写权限,命令是:chmod u+w /etc/sudoers 3.编辑sudoers文件vi /etc/sud ...

  5. kettle中Get Data from XML , Jason Input , 文本文件输入 使用示例

    1.Get Data from XML xml文件内容: <head> <img id="1">菜||焦溜丸子||2013-03-28/image/0/00 ...

  6. 一个解析cgi参数的SHELL脚本

    http://www.cnblogs.com/mfryf/archive/2012/05/23/2514495.html 测试工作中,经常会涉及到一些要验证服务器对某些cgi接口查询结果返回信息进行解 ...

  7. 21_resultMap和resultType总结

    [resultType] [ 作用 ] 将查询结果按照SQL列名与pojo属性名一致性 映射到pojo中. [ 使用场合 ] 常见的一些明细记录的展示,比如用户购买商品的明细,将关联查询信息全部展示在 ...

  8. time 函数

    1.Python Time 2.C++ Time Example: #include <iostream> #include <chrono> //C++的`计时`库 #inc ...

  9. 程序员面试题精选100题(33)-在O(1)时间删除链表结点[数据结构]

    作者:何海涛 出处:http://zhedahht.blog.163.com/ 题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点.链表结点的定义如下: struct ListNode { ...

  10. 建造者模式(Builder Pattern)

    建造者模式:使用多个简单对象一步步构建成一个复杂的对象. 有时候,我们会创建一个“复杂”的对象,这个对象的由很多子对象构成,由于需求的变化,这个对象的各个部分经常面临剧烈的变化. 继续工厂模式的披萨店 ...