PHP获取当前页面完整网址URL
web PHP 2022-07-19 890 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

6501868 2619 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)

<?php
function get_page_url(){
$url = (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443') ? 'https://' : 'http://';
$url .= $_SERVER['HTTP_HOST'];
$url .= isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : urlencode($_SERVER['PHP_SELF']) . '?' . urlencode($_SERVER['QUERY_STRING']);
return $url;
}
echo get_page_url();
?>
PHP是通过$_SERVER预定义变量获取当前页面完整URL的,$_SERVER是一个包含头信息、路径、文件位置的数组,它是由web服务器创建的,如果你用命令行方式运行PHP,那么$_SERVER完全无效。
 
对$_SERVER数组元素说明:
$_SERVER[ 'PHP_SELF' ] #当前正在执行脚本的文件名,与 document root相关。   
$_SERVER[ 'argv' ] #传递给该脚本的参数。   
$_SERVER[ 'argc' ] #包含传递给程序的命令行参数的个数(如果运行在命令行模式)。   
$_SERVER[ 'GATEWAY_INTERFACE' ] #服务器使用的 CGI 规范的版本。例如,“CGI/ 1.1 ”。   
$_SERVER[ 'SERVER_NAME' ] #当前运行脚本所在服务器主机的名称。   
$_SERVER[ 'SERVER_SOFTWARE' ] #服务器标识的字串,在响应请求时的头部中给出。   
$_SERVER[ 'SERVER_PROTOCOL' ] #请求页面时通信协议的名称和版本。例如,“HTTP/ 1.0 ”。   
$_SERVER[ 'REQUEST_METHOD' ] #访问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。   
$_SERVER[ 'QUERY_STRING' ] #查询(query)的字符串。   
$_SERVER[ 'DOCUMENT_ROOT' ] #当前运行脚本所在的文档根目录。在服务器配置文件中定义。   
$_SERVER[ 'HTTP_ACCEPT' ] #当前请求的 Accept: 头部的内容。   
$_SERVER[ 'HTTP_ACCEPT_CHARSET' ] #当前请求的 Accept-Charset: 头部的内容。例如:“iso- 8859 - 1,*,utf- 8 ”。   
$_SERVER[ 'HTTP_ACCEPT_ENCODING' ] #当前请求的 Accept-Encoding: 头部的内容。例如:“gzip”。   
$_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ]# 当前请求的 Accept-Language: 头部的内容。例如:“en”。   
$_SERVER[ 'HTTP_CONNECTION' ] #当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。   
$_SERVER[ 'HTTP_HOST' ] #当前请求的 Host: 头部的内容。   
$_SERVER[ 'HTTP_REFERER' ] #链接到当前页面的前一页面的 URL 地址。   
$_SERVER[ 'HTTP_USER_AGENT' ] #当前请求的 User_Agent: 头部的内容。   
$_SERVER[ 'HTTPS' ] — 如果通过https访问,则被设为一个非空的值(on),否则返回off   
$_SERVER[ 'REMOTE_ADDR' ] #正在浏览当前页面用户的 IP 地址。   
$_SERVER[ 'REMOTE_HOST' ] #正在浏览当前页面用户的主机名。   
$_SERVER[ 'REMOTE_PORT' ] #用户连接到服务器时所使用的端口。   
$_SERVER[ 'SCRIPT_FILENAME' ] #当前执行脚本的绝对路径名。   
$_SERVER[ 'SERVER_ADMIN' ] #管理员信息   
$_SERVER[ 'SERVER_PORT' ] #服务器所使用的端口   
$_SERVER[ 'SERVER_SIGNATURE' ] #包含服务器版本和虚拟主机名的字符串。   
$_SERVER[ 'PATH_TRANSLATED' ] #当前脚本所在文件系统(不是文档根目录)的基本路径。   
$_SERVER[ 'SCRIPT_NAME' ] #包含当前脚本的路径。这在页面需要指向自己时非常有用。   
$_SERVER[ 'REQUEST_URI' ] #访问此页面所需的 URI。   
$_SERVER[ 'PHP_AUTH_USER' ] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。   
$_SERVER[ 'PHP_AUTH_PW' ] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。   
$_SERVER[ 'AUTH_TYPE' ] #当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。
 
注意:SERVER_NAME 和HTTP_HOST的区别(非80端口时HTTP_HOST = SERVER_NAME : SERVER_PORT)

说明:
$_SERVER['REQUEST_URI']只是以apache作为web服务器才有效,如果不存在,应该
$_SERVER['PHP_SELF']) '?'$_SERVER['QUERY_STRING']来获取,当然是用urlencode可以防止恶意url。
 
PS:如果用javascript获取url就简单多了:
 
<script>
document.write(this.location.href);
</script>



版权声明:本篇文章来源于网络。 来源链接

相关推荐
php实现ZIP压缩文件解压缩,中文乱码解决方法(重要)
PHP | 2019-04-30 5670
直接上代码,具体代码里面都有注释。直接中文压缩文件解压到中文文件夹。 <?php // 需开启配置 php_zip.dll // phpinfo(); header("Content-type:text/html;charset=utf-8"); /* * $filename 被解压文件名 * $path 解压...
openssl_private_decrypt解密失败
PHP | 2019-01-16 5625
复制别人的解密程序,原程序可以解密,复制过来就不可以 一步步尝试发现,秘钥换行符有区别, 原秘钥有换行符,复制过来不知道什么时候把换行符清空了,成了一行字符串了。
评论:0条
评论加载中...
发表评论