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


PHP DirectoryIterator::getLinkTarget方法代码示例

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


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

示例1: _processFile

 /**
  * Process file
  *
  * @param int $directoryID
  * @param DirectoryIterator $entries
  */
 protected final function _processFile($directoryID, DirectoryIterator $entries)
 {
     $scanID = $this->_scanRow->scanID;
     // Load row when exists
     $fileRow = $this->_fileTable->fetchRow(array('directoryID' => $directoryID, 'name' => $entries->getFilename()));
     // Already scanned
     if ($fileRow && $fileRow->lastScanID == $scanID) {
         return;
     }
     $pathname = $entries->getPathname();
     // Data
     $data = array('modifyDate' => $this->_normalizeDate($entries->getMTime()), 'owner' => $this->_normalizeUser($entries->getOwner()), 'group' => $this->_normalizeGroup($entries->getGroup()), 'permissions' => $entries->getPerms(), 'size' => $entries->getSize(), 'linkTarget' => $entries->isLink() ? $entries->getLinkTarget() : null);
     // Content
     $contentHash = null;
     if (!$entries->isLink() && ($this->_alwaysCheckContent || !$fileRow || $fileRow->modifyDate != $data['modifyDate'] || $fileRow->size != $data['size'])) {
         // Non-accessible file
         if (!is_readable($pathname)) {
             $this->_log(self::LOG_ERROR, "\t{$pathname} cannot be read.");
             if ($fileRow) {
                 $contentHash = $fileRow->contentHash;
             }
         } else {
             $contentHash = md5_file($pathname);
         }
     }
     // Transaction
     $this->_db->beginTransaction();
     // New row
     if ($newRow = !$fileRow) {
         fwrite(STDOUT, "\t{$pathname} is new.\n");
         $fileRow = $this->_createFileRow(array('directoryID' => $directoryID, 'name' => $entries->getFilename()) + $data);
     }
     // Store values
     $oldValues = $fileRow->toArray();
     // Content
     if ($fileRow->contentHash != $contentHash) {
         $data['contentHash'] = $contentHash;
         if ($this->_storagePath) {
             $data['storedAs'] = $this->_copyFile($fileRow->fileID, $entries);
         }
     }
     // Update row
     $this->_updateFileRow($pathname, $fileRow, $data);
     $fileRow->lastScanID = $scanID;
     $fileRow->save();
     // Scan row update
     $this->_scanRow->lastOperationDate = new SeekR_Expression('NOW()');
     $this->_scanRow->save();
     // Transaction
     $this->_db->commit();
 }
开发者ID:AttilaJenei,项目名称:Seek-R,代码行数:57,代码来源:SeekR.php


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