簡體   English   中英

在PHP中更好的方法

[英]Better way to do this in PHP

我目前將我的htaccess文件設置為刪除文件類型

www.example.com/home.php

會成為,

www.example.com/home

我需要將url與我保存在數據庫中的url進行比較,我這樣做,

if ($_SERVER['QUERY_STRING']) {
    $pageURL = str_replace('.php', '?', 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'] . $_SERVER['QUERY_STRING']);
}
else {
    $pageURL = substr('http://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'], 0, -4);
}

當我將url保存在數據庫中時,它會在htaccess文件刪除.php后保存為當前頁面url,使用jquery ajax插入。

當我來比較它時,我需要這個在php中匹配,因為php沒有考慮到htaccess的變化。

有一個更好的方法嗎?

你可以做:

$pageURL = rtrim($_SERVER['REQUEST_URI'], '.php');

只要它出現在網址的末尾,這將為您的網址刪除.php

查看parse_url()函數。 您可以使用它將URL解析為部分,然后修改路徑組件(例如,刪除.php)。 然后,您可以使用http_build_url()函數從這些部分重建URL。

在我看來,結合John的使用parse_url()以及使用pathinfo()的建議將是最好的 - 修剪,使用substr的截斷等並不總是像pathinfo()那樣優雅。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM