首页 > 后端开发 > 正文

php框架url php如何获取当前页面url路径

2023-09-01 22:07:43 | 我爱编程网

我爱编程网小编给大家带来了php框架url php如何获取当前页面url路径相关文章,一起来看一下吧。

php框架url php如何获取当前页面url路径

php如何实现url路由分发功能


php实现url路由分发功能的方法:首先要在服务器的配置上对【/router/】路径进行拦截;然后实现路由分发器,并获取请求的uri;最后进行模块的编写。
【相关学习推荐:php图文教程】
php实现url路由分发功能的方法:
第一步,首先要在服务器的配置上对/router/路径进行拦截
调用某个文件夹目录下的index.php页面,假定现在所有模块使用单独的文件存放于class目录下,该目录与router平级,如下图所示:
第二步,路由分发器的实现(index.php)
<!Doctype html>
<html>
<head>
<title>路由测试~~</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
date_default_timezone_set("Asia/Shanghai");
define("MODULE_DIR", "../class/");
$_DocumentPath = $_SERVER['DOCUMENT_ROOT'];
$_FilePath = __FILE__;
$_RequestUri = $_SERVER['REQUEST_URI'];
$_AppPath = str_replace($_DocumentPath, '', $_FilePath); //==>
outerindex.php
$_UrlPath = $_RequestUri; //==>/router/hello/router/a/b/c/d/abc/index.html?id=3&url=http:
$_AppPathArr = explode(DIRECTORY_SEPARATOR, $_AppPath);

/**
* ;url=http:
*
* /hello/router/a/b/c/d/abc/index.html?id=3&url=http:
*/
for ($i = 0; $i < count($_AppPathArr); $i++) {
$p = $_AppPathArr[$i];
if ($p) {
$_UrlPath = preg_replace('/^/'.$p.'//', '/', $_UrlPath, 1);
}
}

$_UrlPath = preg_replace('/^//', '', $_UrlPath, 1);

$_AppPathArr = explode("/", $_UrlPath);
$_AppPathArr_Count = count($_AppPathArr);

$arr_url = array(
'controller' => 'index',
'method' => 'index',
'parms' => array()
);

$arr_url['controller'] = $_AppPathArr[0];
$arr_url['method'] = $_AppPathArr[1];

if ($_AppPathArr_Count > 2 and $_AppPathArr_Count % 2 != 0) {
die('参数错误');
} else {
for ($i = 2; $i < $_AppPathArr_Count; $i += 2) {
$arr_temp_hash = array(strtolower($_AppPathArr[$i])=>$_AppPathArr[$i + 1]);
$arr_url['parms'] = array_merge($arr_url['parms'], $arr_temp_hash);
}
}

$module_name = $arr_url['controller'];
$module_file = MODULE_DIR.$module_name.'.class.php';
$method_name = $arr_url['method'];

if (file_exists($module_file)) {
include $module_file;

$obj_module = new $module_name();

if (!method_exists($obj_module, $method_name)) {
die("要调用的方法不存在");
} else {
if (is_callable(array($obj_module, $method_name))) {
$obj_module -> $method_name($module_name, $arr_url['parms']);

$obj_module -> printResult();
}
}

} else {
die("定义的模块不存在");
}

?>

</body>
</html>获取请求的uri,然后拿到要加载的模块名、调用方法名,对uri参数进行简单的判断..
第三步,模块的编写
根据上述的uri,我们要调用的是Hello模块下的router方法,那么可以在class目录下定义一个名为Hello.class.php的文件(注意linux下是区分大小写的)
<?php
class Hello {
private $_name;
private $_varValue;

function __construct() {

}

function router() {
$this->_name = func_get_arg(0);
$this->_varValue = func_get_arg(1);
}
function printResult() {
echo $this->_name;
echo "<p>";
echo var_dump($this->_varValue);
echo "</p>";
}
}
?>同理,我们可以编写Ha模块..

这算是实现了很简单的url路由分发功能了?
相关学习推荐:php编程(视频)

php框架url php如何获取当前页面url路径

thinkphp可以单独url模式么

5.1 URL模式
ThinkPHP框架基于模块和操作的方式进行访问,由于ThinkPHP框架的应用采用单一入口文件来执行,因此网站的所有的模块和操作都通过URL的参数来访问和执行。这样一来,传统方式的文件入口访问会变成由URL的参数来统一解析和调度。
ThinkPHP强大的URL解析、调度以及路由功能为这个功能实现提供了有力的保证,并且可以在绝大多数的服务器环境里面部署成功。
ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义,包括普通模式、PATHINFO、REWRITE和兼容模式。

一、普通模式:设置URL_MODEL 为0
采用传统的URL参数模式
;a=action&id=1
二、PATHINFO模式(默认模式):设置URL_MODEL 为1
默认情况使用PATHINFO模式,ThinkPHP内置强大的PATHINFO支持,提供灵活和友好URL支持。PATHINFO模式自动识别模块和操作

php框架url php如何获取当前页面url路径

php如何获取当前页面url路径

利用PHP实现

1、//获取域名或主机地址

echo $_SERVER['HTTP_HOST']; #localhost

2、//获取网页地址

echo $_SERVER['PHP_SELF']; #/PHP/XX.php 我爱编程网

3、//获取网址参数

echo $_SERVER["QUERY_STRING"]; #id=5

4、//获取用户代理

echo $_SERVER['HTTP_REFERER'];

5、//获取完整的url

echo ''.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

echo''.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];

#

扩展资料

PHP的特性包括:

1. PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

2. PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,

PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;

PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。

3. PHP支持几乎所有流行的数据库以及操作系统。

参考资料来源: 脚本之家:PHP获取当前页面完整URL的方法

以上就是我爱编程网小编给大家带来的php框架url php如何获取当前页面url路径,希望能对大家有所帮助。
与“php框架url php如何获取当前页面url路径”相关推荐
php获取框架url php如何获取当前页面url路径
php获取框架url php如何获取当前页面url路径

如何通过php获取提交页面的URL?在PHP的开发中我们经常会通过网址URL向另一个网页传递参数的问题。在这个过程中我们首先需要获取到当前页面的URL,然后将URL中各个参数的值保存到变量中。整个过程较为简单,主要涉及到$_SERVER的用法。1、$_server['http_host'],作用:获取网址域名,如(www.5ibobo.com,这是波波的一个博客,暂且做例子吧)。

2023-09-13 01:29:57
php框架url解析 php如何获取当前页面url路径
php框架url解析 php如何获取当前页面url路径

php中解析带中文字符的url怎么做&lt;?php//GB2312的Encodeechourlencode("中文-_.")."\n";//%D6%D0%CE%C4-_.+echourldecode("%D6%D0%CE%C4-_.")."\n";//中文-_.echorawurlencode("中文-_.")."\n";//%D6%D0%CE%C4-_.%20echorawurldeco

2023-09-12 15:23:23
php打印框架的url php如何获取当前页面url路径
php打印框架的url php如何获取当前页面url路径

PHPCodeIgniter框架中怎么获取当前页面的URL1.默认情况,你的url中会包含index.php文件:如果你的apache服务器启用了mod_rewrite,你可以简单的通过一个.htaccess文件再加上一些简单的规则就可以移除index.php了。下面是这个文件的一个例子,其中使用了"否定条件"来排除某些不需要重定向的项目:

2023-09-16 08:38:23
php获取框架url参数 PHP CodeIgniter框架中怎么获取当前页面的URL
php获取框架url参数 PHP CodeIgniter框架中怎么获取当前页面的URL

PHPCodeIgniter框架中怎么获取当前页面的URL1.默认情况,你的url中会包含index.php文件:如果你的apache服务器启用了mod_rewrite,你可以简单的通过一个.htaccess文件再加上一些简单的规则就可以移除index.php了。下面是这个文件的一个例子,其中使用了"否定条件"来排除某些不需要重定向的项目:

2023-09-18 10:51:18
php获取框架父页面来路 php如何调用一个页面
php获取框架父页面来路 php如何调用一个页面

框架怎么通过子页面获取父页面的元素js获取父页面的元素可以用$(window.parent.document).find("#customer_id").val();这里的customer_id表示父页面某一个元素的id。比如:父页面有一个隐藏的input框,那么在子页面就可以用上述的语句取到父页面的id为customer_id的值。php如何访问父类方法php访问父类方法的办法:可

2023-09-29 15:29:15
php框架解析url地址 php如何获取跳转后的真实地址
php框架解析url地址 php如何获取跳转后的真实地址

如何通过php获取提交页面的URL?在PHP的开发中我们经常会通过网址URL向另一个网页传递参数的问题。在这个过程中我们首先需要获取到当前页面的URL,然后将URL中各个参数的值保存到变量中。整个过程较为简单,主要涉及到$_SERVER的用法。1、$_server['http_host'],作用:获取网址域名,如(www.5ibobo.com,这是波波的一个博客,暂且做例子吧)。

2023-09-19 18:21:34
php浮动框架宽度 php获取当前页面宽度
php浮动框架宽度 php获取当前页面宽度

什么是php框架?php框架对很多新手而言可能会觉得很难攀越,其实不然,只要知道一个框架的流程,明白原理了,基本类似框架都可以看懂,php框架真正的发展要从php5开始了,其实php4时代就有一些框架,但是因为框架并没有给大家带来多方便而觉得很复杂,速度没有纯php好,所以一直到了php5才有大的发展,php5的面向对象模型的修改对框架的发展起了很大的作用。2php框架介绍框架

2023-09-12 09:39:33
php怎么获取if框架网址 php如何获取调用页面的来源地址
php怎么获取if框架网址 php如何获取调用页面的来源地址

php如何获取当前页面url路径利用PHP实现1、//获取域名或主机地址echo$_SERVER['HTTP_HOST'];#localhost2、//获取网页地址echo$_SERVER['PHP_SELF'];#/PHP/XX.php3、//获取网址参数echo$_SERVER["QUERY_STRING"];#id=54、//

2023-09-25 09:27:48