本文整理匯總了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;
}