Showing posts with label PHP PATHINFO_BASENAME. Show all posts
Showing posts with label PHP PATHINFO_BASENAME. Show all posts

Wednesday, 3 June 2015

Get File Path Data in PHP

You may retrieve all needed file path data using PHP's built-in function pathinfo. You don't need to create your own functions or use regular expressions to get this info. It was already been created for this purpose.
<?php
    // pathinfo() constants parameter list
    // PATHINFO_DIRNAME  => directory name
    // PATHINFO_BASENAME => name of file (w/out extension)
    // PATHINFO_EXTENSION => file extension
    // PATHINFO_FILENAME   => file name w/ extension
     
    $path = '/images/thumbs/my_avatar.gif';
     
    //outputs '/images/thumbs/'
    echo pathinfo($path, PATHINFO_DIRNAME);
     
    //outputs 'my_avatar'
    echo pathinfo($path, PATHINFO_BASENAME);
     
    //outputs 'my_avatar.gif'
    echo pathinfo($path, PATHINFO_FILENAME);
     
    //outputs 'gif'
    echo pathinfo($path, PATHINFO_EXTENSION);
    ?>

Saturday, 4 October 2014

pathinfo in PHP

pathinfo — Returns information about a file path
Syntax:

mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
pathinfo() returns information about path: either an associative array or a string, depending on options.

Parameters:

path
The path to be parsed.

options
If present, specifies a specific element to be returned; one of PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION or PATHINFO_FILENAME.

If options is not specified, returns all available elements.

Return values: If the options parameter is not passed, an associative array containing the following elements is returned: dirname, basename, extension (if any), and filename.

Note:
If the path has more than one extension, PATHINFO_EXTENSION returns only the last one and PATHINFO_FILENAME only strips the last one. (see first example below).
Note:
If the path does not have an extension, no extension element will be returned (see second example below).
If options is present, returns a string containing the requested element.

Changelog ¶

Version Description
5.2.0 The PATHINFO_FILENAME constant was added.


Example #1 pathinfo() Example

<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
?>
The above example will output:

/www/htdocs/inc
lib.inc.php
php
lib.inc
Example #2 pathinfo() example showing difference between null and no extension

<?php
$path_parts = pathinfo('/path/emptyextension.');
var_dump($path_parts['extension']);

$path_parts = pathinfo('/path/noextension');
var_dump($path_parts['extension']);
?>
The above example will output something similar to:

string(0) ""

Notice: Undefined index: extension in test.php on line 6
NULL


Note:
For information on retrieving the current path info, read the section on predefined reserved variables.
Note:
pathinfo() is locale aware, so for it to parse a path containing multibyte characters correctly, the matching locale must be set using the setlocale() function.