如何使用php从文件路径中获取目录名称

我正在尝试从我的文件路径中获取目录名称:目前以下为我的输出:


Array

(

    [path] => \documentLibrary\work\marketingProcess\BusinessMarketing\Design\Images\02_Product_Images\04_SHORT-RANGE\NINA\01_NINA-B1\source_WEB

)

我想得到第二个姓氏,即(01_NINA-B1)。我正在尝试的是:


 echo "<pre>".print_r(dirname($results),true)."</pre>"; die;

当我在上面添加目录名称时,它什么也不显示。接下来我可以尝试什么?


     $query = db_select('network_drive','networkd');

     $query

    ->fields('networkd', array('path'))

    ->condition('ndid',$networkdriveid,'=')

    ->orderBy('networkd.ndid');

    $results = $query->execute();

    echo "<pre>".print_r(dirname($results['path']),true)."</pre>"; die;


慕码人2483693
浏览 90回答 2
2回答

肥皂起泡泡

这看起来像一个普通的字符串操作:拆分字符串获取所需的元素也许像这样:$s = '/documentLibrary/work/marketingProcess/BusinessMarketing/Design/Images/02_Product_Images/04_SHORT-RANGE/NINA/01_NINA-B1/source_WEB';$a = explode(DIRECTORY_SEPARATOR, dirname($s)); //removes source_WEB and splits the stringecho array_pop($a); //gets the last element '01_NINA-B1'

慕森卡

这是吸血鬼吗?从我的研究中,我发现db_select是一种口水功能。你能试试这个吗?它将尝试分解路径字符串并找到倒数第二个元素,如果未找到,它将返回“N / A”&nbsp;$query = db_select('network_drive','networkd');&nbsp;$query->fields('networkd', array('path'))->condition('ndid',$networkdriveid,'=')->orderBy('networkd.ndid');$results = $query->execute();foreach($results as $result){&nbsp;&nbsp; &nbsp; $array = explode("\\", $result->path);&nbsp; &nbsp; echo isset($array[count($array) - 2]) ? $array[count($array) - 2] : "N/A";}
打开App,查看更多内容
随时随地看视频慕课网APP