静态变量虽然在函数结束时值不丢失,但其作用域只在本函数中,在函数之外仍然是无效的
如:function mytest(){
static $mystr;
$mystr.="哈";
echo $mystr."<br>";
}
echo mytest();//哈
echo mytest();//哈哈
echo mytest();//哈哈哈
$request=null;
is_null($request) && $request = "我是request"; <=等同于=> if(is_null($request)) $request = "我是request";
var_dump($request);
$script_name = basename($_SERVER['SCRIPT_FILENAME']);
if (basename($_SERVER['SCRIPT_NAME']) === $script_name) {
$url = $_SERVER['SCRIPT_NAME'];
echo 1;
} elseif (basename($_SERVER['PHP_SELF']) === $script_name) {
$url = $_SERVER['PHP_SELF'];
echo 2;
} elseif (isset($_SERVER['ORIG_SCRIPT_NAME']) && basename($_SERVER['ORIG_SCRIPT_NAME']) === $script_name) {
$url = $_SERVER['ORIG_SCRIPT_NAME'];
echo 3;
} elseif (($pos = strpos($_SERVER['PHP_SELF'], '/' . $script_name)) !== false) {
$url = substr($_SERVER['SCRIPT_NAME'], 0, $pos) . '/' . $script_name;
echo 4;
} elseif (isset($_SERVER['DOCUMENT_ROOT']) && strpos($_SERVER['SCRIPT_FILENAME'], $_SERVER['DOCUMENT_ROOT']) === 0) {
$url = str_replace('\\', '/', str_replace($_SERVER['DOCUMENT_ROOT'], '', $_SERVER['SCRIPT_FILENAME']));
echo 5;
}
echo basename($_SERVER['SCRIPT_FILENAME'])."<br>";
echo basename($_SERVER['SCRIPT_NAME'])."<br>";
echo basename($_SERVER['PHP_SELF'])."<br>";
echo basename($_SERVER['ORIG_SCRIPT_NAME'])."<br>";
echo basename($_SERVER['DOCUMENT_ROOT'])."<br>";
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
/www/htdocs/inc lib.inc.php php lib.inc
public function isSsl()
{
$server = array_merge($_SERVER, $this->server);
if (isset($server['HTTPS']) && ('1' == $server['HTTPS'] || 'on' == strtolower($server['HTTPS']))) {
return true;
} elseif (isset($server['REQUEST_SCHEME']) && 'https' == $server['REQUEST_SCHEME']) {
return true;
} elseif (isset($server['SERVER_PORT']) && ('443' == $server['SERVER_PORT'])) {
return true;
} elseif (isset($server['HTTP_X_FORWARDED_PROTO']) && 'https' == $server['HTTP_X_FORWARDED_PROTO']) {
return true;
} elseif (Config::get('https_agent_name') && isset($server[Config::get('https_agent_name')])) {
return true;
}
return false;
}