syed1234
syed1234

Reputation: 835

How to get directory name from file path using php

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

Answers (2)

Ebrahim Mohammed
Ebrahim Mohammed

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

RiWe
RiWe

Reputation: 377

This looks like a plain string operation:

  1. split the string
  2. get the desired element

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'

Demo

Upvotes: 2

Related Questions