作为程序员一定要保持良好的睡眠,才能好编程

php解析执行基础代码

发布时间:2017-10-02

静态变量虽然在函数结束时值不丢失,但其作用域只在本函数中,在函数之外仍然是无效的

如: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;
}