if (!isset($_SERVER['HTTP_ORIGIN']) || $_SERVER['HTTP_ORIGIN'] === (self::is_https() ? 'https://' : 'http://') . $_SERVER['HTTP_HOST']) return; 当 !isset($_SERVER['HTTP_ORIGIN']) 条件:
# 变量存在,值不为空 true 假
# 变量存在, 值为空 false 真 # 变量不存在 false 真当 !isset($_SERVER['HTTP_ORIGIN']) 为真时,返回,不往下运行
当 为假时, 判断 $_SERVER['HTTP_ORIGIN'] === (self::is_https() ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] 是否 为真,false 返回
realpath() 函数返回绝对路径
显示结果: C:\Inetpub\testweb\test.txt
php7新特性:
方法指定类型
指定返回参数类型
parse_url()
php文档中有详细的事例:
<?php
$url = 'http://username:password@hostname:9090/path?arg=value#anchor';var_dump(parse_url($url));var_dump(parse_url($url, PHP_URL_SCHEME));var_dump(parse_url($url, PHP_URL_USER));var_dump(parse_url($url, PHP_URL_PASS));var_dump(parse_url($url, PHP_URL_HOST));var_dump(parse_url($url, PHP_URL_PORT));var_dump(parse_url($url, PHP_URL_PATH));var_dump(parse_url($url, PHP_URL_QUERY));var_dump(parse_url($url, PHP_URL_FRAGMENT));?>输出的结果:
array(8) { ["scheme"]=> string(4) "http" ["host"]=> string(8) "hostname" ["port"]=> int(9090) ["user"]=> string(8) "username" ["pass"]=> string(8) "password" ["path"]=> string(5) "/path" ["query"]=> string(9) "arg=value" ["fragment"]=> string(6) "anchor"}string(4) "http"string(8) "username"string(8) "password"string(8) "hostname"int(9090)string(5) "/path"string(9) "arg=value"string(6) "anchor"
spl_autoload_register — 注册给定的函数作为 __autoload 的实现
$autoload_function
[, bool $throw
= true [, bool $prepend
= false ]]] ) autoload_function
欲注册的自动装载函数。如果没有提供任何参数,则自动注册 autoload 的默认实现函数spl_autoload()。
throw
此参数设置了 autoload_function
无法成功注册时, spl_autoload_register()是否抛出异常。
prepend
如果是 true,spl_autoload_register() 会添加函数到队列之首,而不是队列尾部
strtr()函数
strtr() 函数转换字符串中特定的字符。
把字符串中的字符 "ia" 替换为 "eo":
echo strtr("Hilla Warld","ia","eo"); bool class_exists ( string $class_name [, bool $autoload = TRUE ] ) 检查类是否存在
bool in_array(search,array,type) 检查数组中是否存在某个值 type 为true时判断值的类型
$object
, string $method_name
) 检查类的方法是否存在
$array1
, array $array2
[, array $...
] ) array_intersect() 返回一个数组,该数组包含了所有在 array1
中也同时出现在所有其它参数数组中的值。注意键名保留不变。
$array1
, array $array2
[, array $...
] ) 根据 array1
中的键名和 array2
进行比较,返回不同键名的项。 本函数和 array_diff() 相同只除了比较是根据键名而不是值来进行的。