If you wish to get a part of path you can use function like this:
<?php
/**
* Return a part of path by depth
*
* @param $path string
* @param $depth int
* @return mixed string on success, false on failure
*/
function getPartPath($path = '', $depth = 0) {
$pathArray = array();
$pathArray = explode(DIRECTORY_SEPARATOR, trim($path, DIRECTORY_SEPARATOR));
if($depth < 0)
$depth = count($pathArray)+$depth;
if(!isset($pathArray[$depth]))
return false;
return $pathArray[$depth];
}
?>
usage:
<?php
$a = "/var/www/foo/trunk/bar/tools/php/simplelocal";
var_dump(getPartPath($a, -2)); // returns php
var_dump(getPartPath($a, 0)); // returns var
var_dump(getPartPath($a, -1)); // returns simplelocal
?>
etc...
Regards.
DirectoryIterator::getPath
(PHP 5)
DirectoryIterator::getPath — 現在の Iterator アイテムのパスをファイル名抜きで返す
パラメータ
この関数にはパラメータはありません。
返り値
ファイルへのパスを返します。ファイル名や最後のスラッシュは省略します。
例
例1 DirectoryIterator::getPath() の例
<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
echo $iterator->getPath();
?>
上の例の出力は、 たとえば以下のようになります。
/home/examples/public_html
参考
- DirectoryIterator::getBasename() - 現在の DirectoryIterator のアイテムのベース名を取得する
- DirectoryIterator::getFilename() - 現在の DirectoryIterator アイテムのファイル名を返す
- DirectoryIterator::getPathname() - 現在の DirectoryIterator アイテムのパスとファイル名を返す
- pathinfo() - ファイルパスに関する情報を返す
xcojack at gmail dot com
04-Apr-2012 06:19
