如何使用PHP从完整的绝对URL中检索脚本名称?

时间:2015-10-01 14:02:36

标签: php parsing url

我可以检索完整的网址,例如:http://www-click08-co-uk/wonga.php
我需要检索脚本名称" wonga"从它。

网址将根据用户所在的页面而改变,并且我将始终需要/之后的单词或短语,并且不包括.php,在上面的示例中,我想创建一个值为的变量这是wonga

这是我目前拥有的代码,其中" argos" is,是搜索数据库的地方,并使用我需要的信息进行响应,这是使用vaiable的地方

<?php
//-----------------------------------------------------
// Include files and set Classes
//-----------------------------------------------------
require_once $_SERVER["DOCUMENT_ROOT"] . "/includes/common.php";


$db = new dbConnection();
$directorydata = new directorydata();
$phoneDirectory = new phoneDirectory();

$conn = $db->pdoConnect();
// Load the directorydata row via the row ID - 543 is "best buy"
//$directorydata->get($db, 543);

// Load the directorydata row via the url alias field
$directorydata->get($db, "Argos");

// Phone number isn't formatted coming out the DB
$formattedPhoneNumber = $phoneDirectory->formatPhoneNumber($directorydata->Number1);

?> 

2 个答案:

答案 0 :(得分:0)

parse_url的示例用法可能是:

$url = 'http://www-click08-co-uk/wonga.php?page=74';

$route = parse_url($url, PHP_URL_PATH);
$routeTokens = explode('/', $route);
$scriptName = array_pop($routeTokens);

echo $scriptName; 

在这种情况下输出wonga.php

请注意,这是一项非常罕见的任务,您必须自己照顾自己。因此,您可以在此处查看更大的图片,并开始寻找一些优秀的MVC框架,而不是parse_url

答案 1 :(得分:0)

仅仅因为你没有提供任何代码,我就为你提供了一种解决方法:

$url = "http://www-click08-co-uk/wonga.php";

// SEARCH and replace
// FIRST_FUNCTION => google => php trailing name component of path
// SECOND_FUNCTION => google => php explode a string by string
// THIRD_FUNCTION => google => php pop first element of array

$urlParts = SECOND_FUNCTION( ".", FIRST_FUNCTION( $url ) );

echo THIRD_FUNCTION( $urlParts );

输出:

wonga