本文整理汇总了PHP中DirectoryIterator::setInfoClass方法的典型用法代码示例。如果您正苦于以下问题:PHP DirectoryIterator::setInfoClass方法的具体用法?PHP DirectoryIterator::setInfoClass怎么用?PHP DirectoryIterator::setInfoClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DirectoryIterator
的用法示例。
在下文中一共展示了DirectoryIterator::setInfoClass方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getFilesInDirectory
/**
* Get files in directory locally and remotely.
*
* @param string $dir full path to directory
*
* @return array of files
*/
public function getFilesInDirectory($dir)
{
if ($this->validPathStr($dir) === false) {
throw new \Exception('Directory path is not valid. Possible security issue.');
}
$files = array();
$basePath = $this->addEndingSlash($this->command->getGitEnvironment()->getPath());
$relativePath = $dir;
if ($relativePath) {
$relativePath = $this->addEndingSlash($relativePath);
}
if ($this->command->getGitEnvironment()->getSsh() === true) {
//Remote Directory Listing
$directoryList = $this->command->getSftpProcess()->getDirectoryList($basePath . $relativePath);
foreach ($directoryList as $filename => $fileData) {
if ($filename !== '.' && $filename !== '..' && $filename !== '.git') {
$fileData['fullPath'] = $basePath . rtrim($relativePath, '/') . '/' . $filename;
$fileData['gitPath'] = $relativePath . $filename;
$remoteFileInfo = new RemoteFileInfo($fileData);
if ($remoteFileInfo->isFile()) {
}
$files[] = $remoteFileInfo;
}
}
} else {
//Local Directory Listing
$directoryIterator = new \DirectoryIterator($basePath . $dir);
$directoryIterator->setInfoClass('\\VersionControl\\GitCommandBundle\\Entity\\FileInfo');
foreach ($directoryIterator as $fileInfo) {
if (!$fileInfo->isDot() && $fileInfo->getFilename() !== '.git') {
$newFileInfo = $fileInfo->getFileInfo();
$newFileInfo->setGitPath($relativePath . $fileInfo->getFilename());
$files[] = $newFileInfo;
}
}
}
$this->sortFilesByDirectoryThenName($files);
return $files;
}
示例2: testCreateDirectoryIterator_DirectoryContainingFiles
public function testCreateDirectoryIterator_DirectoryContainingFiles()
{
$this->storage->createDirectory('some_directory/');
$directory = new DirectoryObject($this->storage->getPath('some_directory/'));
$expected = new \DirectoryIterator($this->storage->getPath('some_directory/'));
$expected->setFileClass('Stalxed\\FileSystem\\FileObject');
$expected->setInfoClass('Stalxed\\FileSystem\\FileInfo');
$this->assertEquals($expected, $directory->createDirectoryIterator());
}
示例3: createDirectoryIterator
/**
* Создаёт объект DirectoryIterator для текущей директории.
*
* @return DirectoryIterator
*/
public function createDirectoryIterator()
{
$iterator = new \DirectoryIterator($this->getRealPath());
$iterator->setFileClass('Stalxed\\FileSystem\\FileObject');
$iterator->setInfoClass('Stalxed\\FileSystem\\FileInfo');
return $iterator;
}