我想知道如何只减去完整路径的一部分:
我得到当前文件夹的完整路径:
$dbc_root = getcwd(); // That will return let's say "/home/USER/public_html/test2"
我只想选择“/ public_html / test2”
我该怎么办? 谢谢!
答案 0 :(得分:4)
我认为你应该检查路径相关的方法:
pathinfo() - Returns information about a file path
dirname() - Returns directory name component of path
basename() - Returns filename component of path
您应该能够找到其中一种解决方案。
答案 1 :(得分:1)
取决于格式的固定方式。最简单的形式:
$dbc_root = str_replace('/home/USER', '', getcwd());
如果您需要在public_html
之后获取所有内容:
preg_match('/public_html.*$/', getcwd(), $match);
$dbc_root = $match;
答案 2 :(得分:1)
<?php
function pieces($p, $offset, $length = null)
{
if ($offset >= 0) $offset++; // to adjust for the leading /
return implode('/', array_slice(explode('/', $p), $offset, $length));
}
echo pieces('/a/b/c/d', 0, 1); // 'a'
echo pieces('/a/b/c/d', 0, 2); // 'a/b'
echo pieces('/a/b/c/d', -2); // 'c/d'
echo pieces('/a/b/c/d', -2, 1); // 'c'
?>
答案 3 :(得分:0)
好吧,如果你知道你要丢弃的路径部分是什么,你可以简单地做一个str_replace:
$dbc_root = str_replace('/home/USER/', '', $dbc_root);
答案 4 :(得分:0)
您可以使用空字符串替换/home/USER
:
$path=str_replace("/home/USER", "", getcwd());
答案 5 :(得分:0)
$dbc_root = getcwd(); // That will return let's say "/home/USER/public_html/test2"
$dbc_root .= str_replace('/home/USER', '', $dbc_root); // Remember to replace USER with the correct username in your file ;-)
在此之后,$dbc_root
应该没有/ home / USER
我没有测试,如果你想为此创建一个新的var ... 你可以尝试:
$slim_dbc_root = str_replace('/home/USER', '', $dbc_root);
我希望这会帮助你走向正确的方向
答案 6 :(得分:0)
试试这个“/ home / pophub / public_html /”是你要从getcwd()中删除的文本
$dir = getcwd();
$dir1 = str_replace('/home/pophub/public_html/', '/', $dir);
echo $dir1;