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



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

Array
(
[path] => documentLibraryworkmarketingProcessBusinessMarketingDesignImages2_Product_Images4_SHORT-RANGENINA1_NINA-B1source_WEB
)

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

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

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

$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;

这看起来像一个普通的字符串操作:

  1. 拆分字符串
  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 string
echo array_pop($a); //gets the last element '01_NINA-B1'

演示

这是drupal吗? 从我的研究中,我发现db_select是一个drupal函数。

你能试试这个吗? 它将尝试分解路径字符串并找到倒数第二个元素,如果没有找到,它将返回"N/A">

$query = db_select('network_drive','networkd');
$query
->fields('networkd', array('path'))
->condition('ndid',$networkdriveid,'=')
->orderBy('networkd.ndid');
$results = $query->execute();
foreach($results as $result){ 
$array = explode("\", $result->path);
echo isset($array[count($array) - 2]) ? $array[count($array) - 2] : "N/A";
}

相关内容

  • 没有找到相关文章

最新更新