你好,我就是这样:
filename mycoolfile.zip?dl=1&token_hash=AAHy4rl_jpJF4Z70W1BQUgXf7IOvLXw
使用php如何捕获文件的名称,这将是anything.ext并摆脱其余部分。
所以返回:mycoolfile.zip
我知道它可以使用正则表达式完成,但我不熟悉那些,只要它适用于anyfilename.ext,我愿意接受任何建议或任何方式来完成任务吗?blablablaafter
答案 0 :(得分:1)
使用parse_url获取名称
<?php
$str = "mycoolfile.zip?dl=1&token_hash=AAHy4rl_jpJF4Z70W1";
$parsed_url = parse_url($str);
echo $parsed_url["path"] . "<br>";
答案 1 :(得分:1)
您可以使用parse_url
功能:
$u = 'filename mycoolfile.zip?dl=1&token_hash=AAHy4rl_jpJF4Z70W1BQUgXf7IOvLXw';
$arr = parse_url($u);
echo $arr['path']; //=> OUTPUT: filename mycoolfile.zip
答案 2 :(得分:1)
$path = '/lul/what/mycoolfile.zip?dl=1&token_hash=AAHy4rl_jpJF4Z70W1BQUgXf7IOvLXw';
$file = basename(preg_replace('/\?.*$/', '', $path));
答案 3 :(得分:0)
你能用'?'作为explode()
中的分隔符并使用数组中的值,或者使用preg_split()
?
编辑:或使用上面更好的解决方案! : - )
答案 4 :(得分:0)
你也可以试试这个
$u = 'mycoolfile.zip?dl=1&token_hash=AAHy4rl_jpJF4Z70W1BQUgXf7IOvLXw';
$url=explode("?",$u);
echo $url['0'];