色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php fix pathinfo

江奕云1年前7瀏覽0評論
PHP中的Pathinfo是指URL中的文件路徑信息,也就是通過URL傳遞參數的一種方式。一些Web應用程序在處理URL時會用到Pathinfo,但在不同的服務器環境中,Pathinfo的處理方式可能會有所不同。本文將探討如何使用PHP的函數進行Pathinfo處理。 在PHP中,Pathinfo可以通過$_SERVER['PATH_INFO']來獲取,但這種方式在不同的服務器環境中可能會出現問題。在某些情況下,Apache服務器會自動將Pathinfo中的斜杠替換為反斜杠,導致程序無法正確解析URL。為了解決這個問題,我們可以使用PHP的函數進行Pathinfo處理。 首先,我們需要確定需要處理的URL格式。例如,對于以下URL:http://example.com/index.php/article/show/1,我們需要獲取“/article/show/1”這一部分作為Pathinfo。 下面是一個簡單的處理Pathinfo的函數:
/**
 * 獲取當前URL中的Pathinfo
 * 
 * @return string          Pathinfo字符串
 */
function get_path_info() {
$request_uri = $_SERVER['REQUEST_URI'];
$script_name = $_SERVER['SCRIPT_NAME'];
$php_self = $_SERVER['PHP_SELF'];
$path_info = '';
if (strpos($request_uri, $script_name) === 0) {
// 地址欄中含有index.php
$path_info = substr($request_uri, strlen($script_name));   
} else if (strpos($request_uri, $php_self) === 0) {
// 地址欄中不含有index.php
$path_info = substr($request_uri, strlen($php_self));  
}
// 去掉可能存在的查詢字符串
if (($pos = strpos($path_info, '?')) !== false) {
$path_info = substr($path_info, 0, $pos);
}
// 去掉可能存在的尾部斜杠
if ($path_info && substr($path_info, -1) == '/') {
$path_info = substr($path_info, 0, -1);
}
return $path_info;
}
這個函數首先獲取當前請求的整個URL(即$_SERVER['REQUEST_URI']),以及當前網站根目錄下的index.php的路徑和PHP_SELF變量。然后判斷URL中是否有index.php,如果沒有則直接從PHP_SELF變量中獲取Pathinfo,如果有則從URL中獲取Pathinfo。最后需要去掉可能存在的查詢字符串和尾部斜杠。 使用這個函數需要注意的是,如果網站根目錄下沒有index.php,則需要在URL中加上該文件名才能獲取到正確的Pathinfo。例如,http://example.com/article/show/1可能會獲取不到正確的Pathinfo,需要修改為http://example.com/index.php/article/show/1。 總的來說,處理Pathinfo可能會遇到一些問題,但通過使用PHP的函數,我們可以輕松地解決這些問題,讓我們的Web應用程序正常工作。