不常用但很实用的PHP预定义变量分析

时间:2022-11-25 17:33:33

1. $php_errormsg — 前一个错误信息

?
1
2
3
4
5
6
7
<?php
 
@strpos();
 
echo $php_errormsg;
 
?>

2.$http_response_header — HTTP 响应头

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
function get_contents() {
 
 file_get_contents("http://example.com");
 
 var_dump($http_response_header);
 
}
 
get_contents();
 
var_dump($http_response_header);
 
?>

3. $argc — 传递给脚本的参数数目

?
1
2
3
4
5
6
7
<?php
 
var_dump($argc);
 
?>
 
当使用这个命令执行: php script.php arg1 arg2 arg3

4. $argv — 传递给脚本的参数数组

?
1
2
3
4
5
6
7
<?php
 
var_dump($argv);
 
?>
 
当使用这个命令执行:php script.php arg1 arg2 arg3
  • __FILE__:返回所在路径文件名和文件名称
  • __DIR__:返回文件所在的完整目录
  • __LINE__:返回当前文件代码的行号
  • __CLASS__:返回当前类名
  • __FUNCTION__:返回当前方法名
  • __METHOD__:返回当前类名和方法名
?
1
2
3
4
5
6
7
8
9
10
11
12
13
var_dump(__FILE__); //所在路径文件名和文件名称   E:\demo\blog_code\predefined\predefined.php
var_dump(__DIR__); //所在完整目录         E:\demo\blog_code\predefined
var_dump(__LINE__); //代码所在行号         4
class testClass{
  function testMethod(){
    var_dump(__FUNCTION__); //返回当前方法名  testMethod
    var_dump(__CLASS__);  //返回类名     testClass
    var_dump(__METHOD__);  //类名加方法名   testClass::testMethod
  }
}
 
$a=new testClass();
$a->testMethod();