【问题标题】:Edit filepath PHP编辑文件路径 PHP
【发布时间】:2012-09-03 17:03:27
【问题描述】:

我的页面上有一个删除按钮,该删除按钮必须删除我数据库中的某个条目(不太难),它必须删除包含删除按钮的文件所在的整个文件夹(也可行),但我也希望它删除另一个放置在其他地方的文件夹,我不知道该怎么做。使用

dirname(__FILE__);

我能够获取包含删除按钮的文件所在的文件路径。结果是这样的:

mywebsite.nl/subdomains/dongen/httpdocs/s-gravenmoer/aandrijvingenenbesturingen/logo4life

我也想删除的文件路径非常相似,但有点不同。最后 3 个文件夹是一个变量,因此它们的长度(以字符为单位)总是不同的。但是,必须从此文件路径中删除倒数第二个文件夹,以便保留:

 mywebsite.nl/subdomains/dongen/httpdocs/s-gravenmoer/logo4life

有没有办法用 PHP 做到这一点?也许使用 substr 或类似的东西?

谢谢!

【问题讨论】:

    标签: php filepath


    【解决方案1】:

    我认为这应该可以解决问题:

    $folderToRemove = preg_replace( '#^(.*)/(.*?)/(.*?)$#', "$1/$3", dirname(__FILE__) );
    

    【讨论】:

      【解决方案2】:

      您可以尝试使用“glob”。详情在www.php.net/glob

      你可以试试:

      $files = glob('subdomains/dongen/httpdocs/*/logo4life');
      foreach ($files as $file) {
          unlink($file); // note that this is very dangerous though, you may end up deleting a lot of files
      }
      

      【讨论】:

      • 感谢您的帮助,我去采取了不太危险的方法;)
      【解决方案3】:

      你不需要任何花哨的东西,正如你猜想的那样,一个简单的 str_replace 就可以做到:-

      $file = 'mywebsite.nl/subdomains/dongen/httpdocs/s-gravenmoer/aandrijvingenenbesturingen/logo4life';
      var_dump(str_replace('aandrijvingenenbesturingen/', '', $file));
      

      输出:-

      string 'mywebsite.nl/subdomains/dongen/httpdocs/s-gravenmoer/logo4life' (length=62)
      

      【讨论】:

      • 不幸的是,这不起作用,因为最后 3 个文件夹是可变的,aandrijvingenenbesturingen 并不总是这样......
      【解决方案4】:
      $path = "mywebsite.nl/subdomains/dongen/httpdocs/s-gravenmoer/aandrijvingenenbesturingen/logo4life";
      $regex = "/(.*\/).*\/(.*)/";
      $matches = array();
      preg_match($regex,  $path, $matches);
      // var_dump($matches);
      $new_path = $matches[1].$matches[2];
      echo $new_path;
      

      以上代码使用preg_match 匹配字符串中的正则表达式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-01
        • 2017-07-10
        • 1970-01-01
        • 2023-04-01
        相关资源
        最近更新 更多