簡體   English   中英

PHP 用於目錄而不是文件

[英]PHP for directory as opposed to a file

我正在使用 PHP 將導航欄引入我的頁面。 下面的代碼允許我設置活動頁面,以便我可以設置鏈接的樣式。

<?php if ($_SERVER['SCRIPT_NAME'] == "/caseStudies.php") { ?>

我正在努力使其在下拉菜單上工作。 我已將 4 個頁面放入一個子目錄中,並且我希望能夠在 4 個頁面中的任何一個處於活動狀態時設置下拉部分的標題。

我努力了:

<?php if ($_SERVER['SCRIPT_NAME'] == "/services/") { ?>

服務是目錄的名稱,但它不起作用。

除了'SCRIPT_NAME'之外,還有其他命令會查找目錄而不是文件嗎?

這是因為您的$_SERVER['SCRIPT_NAME']將是這樣的: /services/page1.php它當然不同於/services/ 您要做的是檢查$_SERVER['SCRIPT_NAME']是否以/services/開頭,您可以使用 strpos https://www.php.net/manual/en/function.strpos.php來做到這一點。

var_dump($_SERVER['SCRIPT_NAME']); // string(15) "/services/a.php"
var_dump($_SERVER['SCRIPT_NAME'] == "/services/"); //  bool(false)
var_dump(strpos($_SERVER['SCRIPT_NAME'], "/services/") === 0); // bool(true)

如果您想要目錄,也可以使用 dirname https://www.php.net/manual/en/function.dirname.php 因此,將$_SERVER['SCRIPT_NAME']與 dirname 包裝起來,您將獲得目錄並可以與/services進行比較:

var_dump(dirname($_SERVER['SCRIPT_NAME'])); // string(9) "/services"
var_dump(dirname($_SERVER['SCRIPT_NAME']) === '/services'); // bool(true)

暫無
暫無

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

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