note 109129 added to function.filetype
| From: | Si | Date: | Fri, 22 Jun 2012 10:36:33 +0000 |
| Subject: | note 109129 added to function.filetype | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-188747@lists.php.net to get a copy of this message | ||
In response to holdoffhunger, there is a neater way to append a string to a file name in front of
the extension using the pathinfo() function.
pathinfo() returns an associative array:
$pathSTR = '/home/mysite/mydir/my.file.php'
$pathARR = pathinfo($pathSTR);
$dirname = $pathARR['dirname']; // '/home/mysite/mydir'
$basename = $pathARR['basename']; // 'my.file.php'
$extension = $pathARR['extension']; // 'php'
$filename = $pathARR['filename']; // 'my.file' (since PHP 5.2.0)
So, to reconstruct a file name:
$pathSTR = '/home/mysite/mydir/my.file.php'
$pathARR = pathinfo($pathSTR);
$newPathSTR = "$pathARR[dirname]/$pathARR[filename]_BACKUP-1.$pathARR[extension]"; //
'/home/mysite/mydir/my.file_BACKUP-1.php'
Note that this also works for relative paths:
$pathSTR2 = '../../mydir/my.file.php';
$pathARR2 = pathinfo($pathSTR2);
$newPathSTR2 = "$pathARR2[dirname]/$pathARR2[filename]_BACKUP-2.$pathARR2[extension]"; //
'../../mydir/my.file_BACKUP-2.php'
If you are using a version prior to PHP 5.2.0, you can get $filename from:
$filename = substr($basename, 0, strrpos($basename, '.'));
----
Server IP: 87.124.126.48
Probable Submitter: 80.229.156.12
----
Manual Page -- http://www.php.net/manual/en/function.filetype.php
Edit -- https://master.php.net/note/edit/109129
Del: integrated -- https://master.php.net/note/delete/109129/integrated
Del: useless -- https://master.php.net/note/delete/109129/useless
Del: bad code -- https://master.php.net/note/delete/109129/bad+code
Del: spam -- https://master.php.net/note/delete/109129/spam
Del: non-english -- https://master.php.net/note/delete/109129/non-english
Del: in docs -- https://master.php.net/note/delete/109129/in+docs
Del: other reasons-- https://master.php.net/note/delete/109129
Reject -- https://master.php.net/note/reject/109129
Search -- https://master.php.net/manage/user-notes.php