![](/img/trans.png)
[英]How do I run unit tests stored in my application directory as opposed to in the PHP directory?
[英]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.