两个函数: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://example.vod2.myqcloud.com/dir1/dir2/myVideo.mp4', 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 的值)。
获取到:
“/dir1/dir2/myVideo.mp4”
2.文件路径分解 获取 PATHINFO_DIRNAME
pathinfo('/dir1/dir2/myVideo.mp4')
可选参数:
path
要解析的路径。
options
如果指定了,将会返回指定元素;它们包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION 或 PATHINFO_FILENAME
。
如果没有指定 options 默认是返回全部的单元。
即获取到相应的防盗链所有的参数Dir
相关函数:
parse_str($str);
pathinfo() - 返回文件路径的信息
parse_str() - 将字符串解析成多个变量,分配到当前作用域;
http_build_query() - 生成 URL-encode 之后的请求字符串
http_build_url()
dirname() - 返回路径中的目录部分,结果与pathinfo($str,PATHINFO_DIRNAME)一致;
basename() - 返回路径中的文件名部分,结果与pathinfo($str,PATHINFO_BASENAME)一致;
$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