日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP获取当前页面的URL

發布時間:2025/3/19 php 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP获取当前页面的URL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>


?????使用PHP編寫程序的時候,我們常常想要獲取當前頁面的URL。下面提供一個用于獲取當前頁面URL的函數以及使用方法:

示例一:

<?php // 說明:獲取完整URLfunction 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; } ?>

? 定義該函數之后就可以直接調用了:

1
2
3
<?php
? echo curPageURL ( ) ;
?>

?????上面的函數可以獲取當前頁面完整的URL,即你在瀏覽器地址欄看到的內容。但是,有時候我們不想要URL中的參數( ? 號后面的內容),如:http://www.ludou.org/hello.html?u=123,只想獲取http://www.ludou.org/hello.html,你可以將以上函數做以下更改:

示例二:

<?php // 說明:獲取無參數URLfunction curPageURL() {$pageURL = 'http';if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}$pageURL .= "://";$this_page = $_SERVER["REQUEST_URI"];// 只取 ? 前面的內容if (strpos($this_page, "?") !== false) $this_page = reset(explode("?", $this_page));if ($_SERVER["SERVER_PORT"] != "80") {$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $this_page;} else {$pageURL .= $_SERVER["SERVER_NAME"] . $this_page;}return $pageURL; } ?>

當然也可以采用 $_SERVER['PHP_SELF'] (該變量不返回URL中的參數),

示例三:

<?php // 說明:獲取無參數URLfunction curPageURL() {$pageURL = 'http';if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}$pageURL .= "://";if ($_SERVER["SERVER_PORT"] != "80") {$pageURL .= $_SERVER["SERVER_NAME"].":" . $_SERVER["SERVER_PORT"] . $_SERVER['PHP_SELF'];} else {$pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER['PHP_SELF'];}return $pageURL; } ?>

另外,$_SERVER['REQUEST_URI'] 和 $_SERVER['REQUEST_URL'] 是有稍微區別的:
$_SERVER["REQUEST_URI"] 返回完整的路徑 ( /directory/file.ext?query=string )
$_SERVER['REQUEST_URL'] 只返回文件路徑,不包括參數,( /directory/file.ext ),和$_SERVER['PHP_SELF']差不多,只不過在有些服務器上$_SERVER['REQUEST_URL']不可用!

?????注意:URL使用rewrite規則的時候,$_SERVER['PHP_SELF']和$_SERVER["REQUEST_URL"]可能不會返回你想要的東西

?????最后提醒一點,$_SERVER["REQUEST_URI"] 只有 apache 才支持,想要一個獲取 $_SERVER['REQUEST_URI'] 值的通用解決方案,可以使用以下方案:

<?php // 說明:獲取 _SERVER['REQUEST_URI'] 值的通用解決方案 // 來源:drupal-5.1 bootstrap.inc // 整理:http://www.codebit.cn/pub/html/php_mysql/tip/other/request_urifunction request_uri() {if (isset($_SERVER['REQUEST_URI'])){$uri = $_SERVER['REQUEST_URI']; }else{if (isset($_SERVER['argv'])){$uri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0];}else{$uri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING'];}}return $uri; } ?>

轉載于:https://my.oschina.net/kalcaddle/blog/32575

總結

以上是生活随笔為你收集整理的PHP获取当前页面的URL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。