Reputation: 835
I am trying to get dir name from my file path: Currently below is my output:
Array
(
[path] => \documentLibrary\work\marketingProcess\BusinessMarketing\Design\Images\02_Product_Images\04_SHORT-RANGE\NINA\01_NINA-B1\source_WEB
)
and I want to get second last name which is (01_NINA-B1). What I am trying is:
echo "<pre>".print_r(dirname($results),true)."</pre>"; die;
when I add dirname above it displays nothing. What can I try next?
$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;
Upvotes: 1
Views: 71
Reputation: 373
Is this drupal? from my research I found out that db_select is a drupal function.
Can you try this one? it will attempt to explode the path string and find the second last element, if none is found it will return "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";
}
Upvotes: 0
Reputation: 377
This looks like a plain string operation:
Maybe like this:
$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'
Upvotes: 2