使用preg_match从文件名中删除根目录

时间:2014-05-19 10:44:21

标签: php preg-replace

这可能是一件非常容易的事情,虽然我似乎无法做到正确。我也搜索了一下,似乎无法找到答案。

我正在尝试从$url字符串中删除根目录。

这是我的代码:

<?php

    $files =  glob( $_SERVER['DOCUMENT_ROOT'] . '/files/*');

    $root = $_SERVER['DOCUMENT_ROOT'] . '/files/';

    foreach($files as $file)
    {
       $name = preg_replace("$root", "", $file);
       echo "$name";
    }

?>

2 个答案:

答案 0 :(得分:1)

改为使用str_replace(),如下所示:

$name = str_replace("$root", "", $file);

此外,双引号也是不必要的。您可以这样做以节省(次要)执行时间:

$name = str_replace($root, '', $file);

(PHP将用双引号解析文本以查找变量。在这种情况下,您可以直接澄清那里有一个变量而没有别的。应该替换它的文本是空的(不需要在那里解析) )。

答案 1 :(得分:0)

查看basename

$name = basename($file);