从字符串中检索URL文件夹名称

时间:2012-06-05 11:11:07

标签: php url

我有点麻烦。我想找到一个顶级文件夹并将其用作变量。

例如。

如果我有网址:http://www.someurl.com/foldername/hello.php

我想查看URL并回显'foldername'。

目前我的代码剥离了东西,以便回声'hello.php'。

非常感谢任何帮助。

<?php

// Get URL String // 
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}

// Split String and get folder//

function curPageName() {
return substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/"));
}

// Pass along Results //
$foldername = curPageName();

echo $foldername;

?>

3 个答案:

答案 0 :(得分:1)

尝试

$parse = parse_url('http://www.someurl.com/foldername/hello.php')
echo dirname($parse['path']);
// Output: /foldername
// use trim() to strip of that leading slash

答案 1 :(得分:1)

我们应该这么强硬吗?

我认为这样做

function getFolderName($URL)
{
        $pieces  = explode("/",$URL);
    //    return $pieces[3];// -->do this if you  need folder after domain
    return $pieces[count($pieces)-2]; //-->do this if you need folder just before sourcefile
}

答案 2 :(得分:1)

          <?php 

            $a = "http://www.someurl.com/foldername/hello.php";

            $b =  explode('/',$a);

            //var_dump($b); 

        // i got this result  array(5) { [0]=> string(5) "http:" [1]=> string(0) "" [2]=>                  string(15) "www.someurl.com" [3]=> string(10) "foldername" [4]=> string(9) "hello.php" }

//现在获取或回显foldername将数组中的值存储在变量

         $value = $b['3'];

        echo $value // will output foldername 
      ?>

我也是新手