【问题标题】:Removing part of path in php在php中删除部分路径
【发布时间】:2012-07-22 00:43:50
【问题描述】:

我有这样的路径:

$path='somefolder/foo/bar/lastdir';

我想删除最后一部分,所以我有:

$path='somefolder/foo/bar';

就像我上一个文件夹一样。

我真的是php新手,也许它只是一个功能,虽然我在任何地方都找不到。

【问题讨论】:

  • 作为一个非常快速和肮脏的修复......你总是可以尝试将 ../ 放到现有路径的尽头。
  • 好吧,我宁愿删除最后一个文件夹也不愿这样做。如果没有其他效果,我会试试这个。

标签: php path directory


【解决方案1】:

您可以试试这个(经过测试并按预期工作):

$path = 'somefolder/foo/haha/lastone';
$parts = explode('/', $path);
array_pop($parts);
$newpath = implode('/', $parts);

$newpath 现在将包含somefolder/foo/haha

【讨论】:

    【解决方案2】:

    使用:

    dirname(dirname('somefolder/foo/haha/lastone/somescript.php'));
    

    这应该返回:

    somefolder/foo/haha/
    

    【讨论】:

      【解决方案3】:

      这是未经测试的,但请尝试:

      $path_array = explode('/',$path);
      array_pop($path_array);
      $path = implode('/',$path_array);
      

      【讨论】:

      • 您在implode() 调用中缺少参数。
      【解决方案4】:

      如果您目前在:

      somefolder/foo/haha/lastone/somescript.php
      

      并且你想访问:

      somefolder/foo/haha/someotherscript.php
      

      只需输入:

      ../someotherscript.php
      

      【讨论】:

      • 使用 dirname() 查看下面的答案
      【解决方案5】:

      如果最后一部分会有所不同,则可能使用正则表达式函数是合适的。试试

      $pattern = '#/.*$#U';
      $stripped_path = preg_replace($pattern, '', $original_path);
      

      这将从最后一个正斜杠开始从原始路径字符串中删除所有内容。

      【讨论】:

        【解决方案6】:

        您可以使用一个函数将 $path 变量分解()成一个数组,然后使用 array_pop 删除最后一个元素。

        function path($path) {
            $arrayPath = explode("/", $path);
            $path = array_pop($arrayPath);
        
            return $path = implode("/", $path);
        }
        

        【讨论】:

          【解决方案7】:

          PHP 中最短的变体是:

          $path = preg_replace('|/[^/]*$|','', $path);
          

          使用正则表达式。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-09-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多