本文整理汇总了PHP中RecursiveIteratorIterator::getType方法的典型用法代码示例。如果您正苦于以下问题:PHP RecursiveIteratorIterator::getType方法的具体用法?PHP RecursiveIteratorIterator::getType怎么用?PHP RecursiveIteratorIterator::getType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RecursiveIteratorIterator
的用法示例。
在下文中一共展示了RecursiveIteratorIterator::getType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getFiles
public function getFiles($dirname = '')
{
$arr_folder = array();
$count = 0;
$folder = UPLOAD_DIR;
$folder .= DIRECTORY_SEPARATOR . $dirname;
if (is_dir($folder)) {
$dir = new RecursiveDirectoryIterator($folder);
$iter = new RecursiveIteratorIterator($dir, RecursiveIteratorIterator::SELF_FIRST);
while ($iter->valid()) {
if (!$iter->isDot()) {
if ($iter->getDepth() < $this->maxDepth) {
$item = array();
$item['id'] = $count;
$item['size'] = $iter->getSize();
$item['type'] = $iter->getType();
$item['ext'] = $iter->getExtension();
$item['pathname'] = $iter->getSubPathName();
$item['filename'] = $iter->getFilename();
$item['parent'] = '/' . $dirname;
$item['Exec'] = $iter->isExecutable();
$item['sub'] = '';
$count++;
$arr_folder[] = $item;
}
}
$iter->next();
}
return $arr_folder;
}
if (is_file($folder)) {
$file = file_get_contents($folder);
if (empty($file)) {
return ' ';
}
return $file;
}
}
示例2: run
/**
* run() method load specified directory
*
* @param array params
* @return array
*/
public function run(array $aParams)
{
// test of obligatory validated path
if (isset($aParams['path']) && is_dir($aParams['path']) && (isset($aParams['pattern']) || isset($aParams['extension']))) {
// init object
$oDirRecIterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($aParams['path']));
// case of not recursive
if (isset($aParams['recursive']) === false || isset($aParams['recursive']) === true && $aParams['recursive'] === false) {
$oDirRecIterator->setMaxDepth(1);
}
// clear array
$this->_aFiles = array();
// rewind
$this->rewind();
$iCount = 0;
// loop on object result
while ($oDirRecIterator->valid()) {
if ($oDirRecIterator->isDot() === false) {
// get file name
$sFileName = $oDirRecIterator->getFilename();
if (isset($aParams['pattern']) && preg_match($aParams['pattern'], $sFileName) || isset($aParams['extension']) && substr(strtolower($sFileName), strrpos($sFileName, '.') + 1) == $aParams['extension']) {
$this->_aFiles[$iCount]['path'] = $oDirRecIterator->key();
$this->_aFiles[$iCount]['filename'] = $sFileName;
// case of subpath
if (isset($aParams['subpath']) && $aParams['subpath']) {
$this->_aFiles[$iCount]['subpath'] = $oDirRecIterator->getSubPath();
}
// case of subpathname
if (isset($aParams['subpathname']) && $aParams['subpathname']) {
$this->_aFiles[$iCount]['subpathname'] = $oDirRecIterator->getSubPathname();
}
// case of size
if (isset($aParams['size']) && $aParams['size']) {
$this->_aFiles[$iCount]['size'] = $oDirRecIterator->getSize();
}
// case of type
if (isset($aParams['type']) && $aParams['type']) {
$this->_aFiles[$iCount]['type'] = $oDirRecIterator->getType();
}
// case of owner
if (isset($aParams['owner']) && $aParams['owner']) {
$this->_aFiles[$iCount]['owner'] = $oDirRecIterator->getOwner();
}
// case of group
if (isset($aParams['group']) && $aParams['group']) {
$this->_aFiles[$iCount]['group'] = $oDirRecIterator->getGroup();
}
// case of time
if (isset($aParams['time']) && $aParams['time']) {
$this->_aFiles[$iCount]['time'] = $oDirRecIterator->getCTime();
}
// case of verbose
if (isset($aParams['verbose']) && $aParams['verbose']) {
echo '[ ', isset($aParams['service']) ? $aParams['service'] : 'FILE', ' ] ', date("d-m-Y à H:i:s"), ' => matched file : ', $sFileName, "\n";
}
++$iCount;
}
}
$oDirRecIterator->next();
}
// destruct object
unset($oDirRecIterator);
// return
return $this->_aFiles;
} else {
// throw exception if specified directory is not declared
throw new Exception('Specified path or extension or pattern are not declared or is not a valid path');
}
}