[英]How to get directory name from file path using 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;
当我在上面添加 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;
这看起来像一个普通的字符串操作:
也许是这样的:
$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";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.