PHP:裁剪文件/目录路径

标签 php path split crop

我有一条像这样的长路径 - /home/user/www/domain.net/public_html/system/dir/file.php,我想裁剪它以获得类似 - /system/dir/file.php.

现在我正在使用这段代码:

$filename = str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $filename);
$filename = join(DIRECTORY_SEPARATOR, array_slice(explode(DIRECTORY_SEPARATOR, $filename), -3, 3));

它有效,但我认为有更好的解决方案..有人知道吗?

提前致谢。

最佳答案

您可以使用正则表达式。请参阅此示例:

$sFileName  = '/home/user/www/domain.net/public_html/system/dir/file.php';
$iCropCount = 3;
$sResult    = preg_replace('#.*?((\/[^\/]+){'.$iCropCount.'})$#', '$1', $sFileName));
//var_dump($sResult);

省略了 DIRECTORY_SEPARATOR 的操作(因为上面示例的主要含义不在其中)

关于PHP:裁剪文件/目录路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18224611/

相关文章:

javascript - 具有从一个数据数组到多个数组的函数的 Enter() 语句? (添加多个渐变路径)

path - 将 TeX 路径添加到 R Studio - Ubuntu

java - 如何获取从图库中选择的图像的目录和文件名

python - 将两个相关的 DataFrame 列拆分为两个新的 DataFrame

php - 在 Laravel 中使用节点模块

javascript - 通过 jquery ajax php 发送动态表单

php - 从父项中获取过滤后的子项

javascript - 如何从 html 表单提交传递 json 对象

c++ - 将 cmd 提示分成两部分

python - 使用 Python split 将一个变量拼接在一起