当前位置: 首页>>代码示例>>PHP>>正文


PHP Iterator::getFilename方法代码示例

本文整理汇总了PHP中Iterator::getFilename方法的典型用法代码示例。如果您正苦于以下问题:PHP Iterator::getFilename方法的具体用法?PHP Iterator::getFilename怎么用?PHP Iterator::getFilename使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Iterator的用法示例。


在下文中一共展示了Iterator::getFilename方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: _search

	/**
	 * Searches for matching files
	 *
	 * @param Iterator $file
	 * @param string $segment
	 * @param array $segments
	 * @param string $extension
	 * @param Atomik_Model_Builder $builder
	 * @return array
	 */
	protected function _search($file, $segment, $segments, $extension, $builder)
	{
		$files = array();
		
		if (!$file->isDir() && count($segments) == 0) {
			// not a directory
			
			$filename = $file->getFilename();
			$fileExt = null;
			
			if ($extension !== null) {
				// extracting the extension from the filename
				$fileExt = strtolower(substr($filename, strrpos($filename, '.') + 1));
				$filename = substr($filename, 0, strrpos($filename, '.'));
			}
			
			// to match, the segment can either be a variable or match the filename (without the extension)
			// the file extension must matched the searched extensions
			if ((substr($segment, 0, 1) == ':' || $filename == $segment) && $fileExt == $extension) {
				$files[] = $this->_getDataFromFile($file->getPathname(), $builder);
			}
			
		} else if ($file->isDir()) {
			// it is a directory
			
			// the segment is not a variable and the filename does not match
			if (substr($segment, 0, 1) != ':' && $file->getFilename() != $segment) {
				return array();
			}
			
			// the segment is either a variable or it matches the current filename
			// checking in sub files
			$segment = array_shift($segments);
			foreach (new DirectoryIterator($file->getPathname()) as $subFile) {
				if (!$file->isDot()) {
					$files = array_merge($files, $this->_search($subFile, $segment, $segments, $extension, $builder));
				}
			}
		}
		
		return $files;
	}
开发者ID:neronen,项目名称:tsoha-k11p4-atomik,代码行数:52,代码来源:Files.php


注:本文中的Iterator::getFilename方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。