仅从php中的网址获取文件名,而网址中不存在任何变量值

2020/12/01 03:41 · php ·  · 0评论

我想$_GET从PHP中的URL获取没有任何变量值的文件名吗?

我的网址是 http://learner.com/learningphp.php?lid=1348

我只想learningphp.php从URL检索

这该怎么做?

我使用过basename()函数,但它也提供了所有变量值:learntolearn.php?lid=1348它们在URL中。

这应该工作:

echo basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);

但要注意URL中的任何恶意部分。

以下步骤显示有关如何获取文件,带扩展名的文件,不带扩展名的文件的全部信息。这项技术对我非常有帮助。希望对您也有帮助。

  $url = 'https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png';
        $file = file_get_contents($url); // to get file
        $name = basename($url); // to get file name
        $ext = pathinfo($url, PATHINFO_EXTENSION); // to get extension
        $name2 =pathinfo($url, PATHINFO_FILENAME); //file name without extension

使用parse_url()如佩卡表示:

<?php
$url = 'http://www.example.com/search.php?arg1=arg2';

$parts = parse_url($url);

$str = $parts['scheme'].'://'.$parts['host'].$parts['path'];

echo $str;
?>

http://codepad.org/NBBf4yTB

在此示例中,不会输出可选的用户名和密码!

最好parse_url只检索路径,然后仅使用获取文件名basename这样我们也避免了查询参数。

<?php

// url to inspect
$url = 'http://www.example.com/image.jpg?q=6574&t=987';

// parsed path
$path = parse_url($url, PHP_URL_PATH);

// extracted basename
echo basename($path);

?>

Sultan的回答有些类似,除了我使用component parse_url参数仅获取路径。

您可以使用,

$directoryURI =basename($_SERVER['SCRIPT_NAME']);

echo $directoryURI;

您的网址:

$url = 'http://learner.com/learningphp.php?lid=1348';
$file_name = basename(parse_url($url, PHP_URL_PATH));
echo $file_name;

输出: learningphp.php

仅获取文件名而不查询字符串的另一种方法是使用parse_url和basename函数:

$parts = parse_url("http://example.com/foo/bar/baz/file.php?a=b&c=d");
$filename = basename($parts["path"]); // this will return 'file.php'

尝试以下代码:

对于PHP 5.4.0及更高版本:

$filename = basename(parse_url('http://learner.com/learningphp.php?lid=1348')['path']);

对于PHP版本<5.4.0

$parsed = parse_url('http://learner.com/learningphp.php?lid=1348');
$filename = basename($parsed['path']);
$filename = pathinfo( parse_url( $url, PHP_URL_PATH ), PATHINFO_FILENAME ); 

使用parse_url从URL中提取路径,然后pathinfo从路径中返回文件名

$url = "learner.com/learningphp.php?lid=1348";
$l = parse_url($url);
print_r(stristr($l['path'], "/"));

使用此功能:

function getScriptName()
{
    $filename = baseName($_SERVER['REQUEST_URI']);
    $ipos = strpos($filename, "?");
    if ( !($ipos === false) )   $filename = substr($filename, 0, $ipos);
    return $filename;
}

可能我迟到了

$e = explode("?",basename($_SERVER['REQUEST_URI']));
$filename = $e[0];
本文地址:http://php.askforanswer.com/jincongphpzhongdewangzhihuoquwenjianmingerwangzhizhongbucunzairenhebianliangzhi.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!