我正在尝试仅显示大写文件名。 我已经知道了这一点,它完全适用于域的根目录:
$path = $_SERVER["SCRIPT_NAME"];
$path = str_replace('_', ' ', ($path));
$path = str_replace('/', '', ($path));
$path = ucwords($path);
echo basename ($path,".php");
但是,如果我在一两个目录下,它也会返回路径。
实施例:
/public_html/mydomain-com/one_two_three_four_five.php
结果: 一二三四五//完美我想要的东西
实施例:
/public_html/mydomain-com/test/one_two_three_four_five.php
结果: Testone Two Three Four Five //不完美
实施例:
/public_html/mydomain-com/test/pathtest/one_two_three_four_five.php
结果: Testpathtestone两个三四五//不完美
我无法弄清楚如何摆脱这条路,并在各地寻找答案但却找不到任何接近的东西。
此外,是否有适用于其中一种/两种情况的内容? (我希望)
答案 0 :(得分:0)
尝试使用explode()函数将路径拆分为每个foldername和filename,然后大写数组的最后一个元素并打印出数组。
E.g:
$fields = explode('/', $path);
$fields[count($fields)-1] = ucwords($fields[count($fields)-1]);
$new_path = "";
foreach($fields as $field) {
$new_path .= $field . ' ';
}
$new_path = str_replace('_', ' ', $new_path);
答案 1 :(得分:0)
你可以使用这样的东西
$pos = strrpos($path, '/');
$path = substr($path, $pos);
$path = str_replace('_', ' ', $path);
$path = ucwords($path);
这样做会找到/
的最后一次出现,然后返回子串。脚本的其余部分保持不变。