兩個函數:parse_url()和pathinfo()
mixed parse_url( string $url[, int $component = -1] )
mixed pathinfo( string $path[, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME] )
1.url路徑分解:
parse_url('http://192.168.0.100:94/info/student/level_test_report/2019_03_06_5c7f1cde6a4ff.jpg');
parse_url('http://192.168.0.100:94/info/student/level_test_report/2019_03_06_5c7f1cde6a4ff.jpg', PHP_URL_PATH);
可選參數:
url
要解析的 URL。無效字元将使用 _ 來替換。
component
指定 PHP_URL_SCHEME、 PHP_URL_HOST、 PHP_URL_PORT、 PHP_URL_USER、 PHP_URL_PASS、 PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一個來擷取 URL 中指定的部分的 string。 (除了指定為 PHP_URL_PORT 後,将傳回一個 integer 的值)。
array:4 [
"scheme" => "http"
"host" => "192.168.0.100"
"port" => 94
"path" => "/info/student/level_test_report/2019_03_06_5c7f1cde6a4ff.jpg"
]
"/info/student/level_test_report/2019_03_06_5c7f1cde6a4ff.jpg"
2.檔案路徑分解
pathinfo('/info/student/level_test_report/2019_03_06_5c7f1cde6a4ff.jpg')
可選參數:
path
要解析的路徑。
options
如果指定了,将會傳回指定元素;它們包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION 或 PATHINFO_FILENAME。
如果沒有指定 options 預設是傳回全部的單元。
array:4 [
"dirname" => "/info/student/level_test_report"
"basename" => "2019_03_06_5c7f1cde6a4ff.jpg"
"extension" => "jpg"
"filename" => "2019_03_06_5c7f1cde6a4ff"
]
相關函數:
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz