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


PHP PhingFile::setMode方法代码示例

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


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

示例1: copyFile

 /**
  * Copies a file using filter chains.
  *
  * @param  PhingFile $sourceFile
  * @param  PhingFile $destFile
  * @param  boolean   $overwrite
  * @param  boolean   $preserveLastModified
  * @param  array     $filterChains
  * @param  Project   $project
  * @param  integer   $mode
  * @param bool       $preservePermissions
  *
  * @throws Exception
  * @throws IOException
  * @return void
  */
 public function copyFile(PhingFile $sourceFile, PhingFile $destFile, $overwrite = false, $preserveLastModified = true, &$filterChains = null, Project $project, $mode = 0755, $preservePermissions = true)
 {
     if ($overwrite || !$destFile->exists() || $destFile->lastModified() < $sourceFile->lastModified()) {
         if ($destFile->exists() && $destFile->isFile()) {
             $destFile->delete();
         }
         // ensure that parent dir of dest file exists!
         $parent = $destFile->getParentFile();
         if ($parent !== null && !$parent->exists()) {
             // Setting source directory permissions to target
             // (On permissions preservation, the target directory permissions
             // will be inherited from the source directory, otherwise the 'mode'
             // will be used)
             $dirMode = $preservePermissions ? $sourceFile->getParentFile()->getMode() : $mode;
             $parent->mkdirs($dirMode);
         }
         if (is_array($filterChains) && !empty($filterChains)) {
             $in = self::getChainedReader(new BufferedReader(new FileReader($sourceFile)), $filterChains, $project);
             $out = new BufferedWriter(new FileWriter($destFile));
             // New read() methods returns a big buffer.
             while (-1 !== ($buffer = $in->read())) {
                 // -1 indicates EOF
                 $out->write($buffer);
             }
             if ($in !== null) {
                 $in->close();
             }
             if ($out !== null) {
                 $out->close();
             }
             // Set/Copy the permissions on the target
             if ($preservePermissions === true) {
                 $destFile->setMode($sourceFile->getMode());
             }
         } else {
             // simple copy (no filtering)
             $sourceFile->copyTo($destFile);
             // By default, PHP::Copy also copies the file permissions. Therefore,
             // re-setting the mode with the "user file-creation mask" information.
             if ($preservePermissions === false) {
                 $destFile->setMode(FileUtils::getDefaultFileCreationMask(false, true));
             }
         }
         if ($preserveLastModified && !$destFile->isLink()) {
             $destFile->setLastModified($sourceFile->lastModified());
         }
     }
 }
开发者ID:TheTypoMaster,项目名称:SPHERE-Framework,代码行数:64,代码来源:FileUtils.php

示例2: copy

 /**
  * Copy a file.
  *
  * @param PhingFile $src Source path and name file to copy.
  * @param PhingFile $dest Destination path and name of new file.
  *
  * @return void     
  * @throws Exception if file cannot be copied.
  */
 function copy(PhingFile $src, PhingFile $dest)
 {
     global $php_errormsg;
     $srcPath = $src->getAbsolutePath();
     $destPath = $dest->getAbsolutePath();
     if (false === @copy($srcPath, $destPath)) {
         // Copy FAILED. Log and return err.
         // Add error from php to end of log message. $php_errormsg.
         $msg = "FileSystem::copy() FAILED. Cannot copy {$srcPath} to {$destPath}. {$php_errormsg}";
         throw new Exception($msg);
     }
     try {
         $dest->setMode($src->getMode());
     } catch (Exception $exc) {
         // [MA] does chmod returns an error on systems that do not support it ?
         // eat it up for now.
     }
 }
开发者ID:nhemsley,项目名称:phing,代码行数:27,代码来源:FileSystem.php

示例3: copyFile

 /**
  * Copies a file using filter chains.
  * 
  * @param PhingFile $sourceFile
  * @param PhingFile $destFile
  * @param boolean $overwrite
  * @param boolean $preserveLastModified
  * @param array $filterChains 
  * @param Project $project
  * @param integer $mode
  * @return void
  */
 function copyFile(PhingFile $sourceFile, PhingFile $destFile, $overwrite = false, $preserveLastModified = true, &$filterChains = null, Project $project, $mode = 0755)
 {
     if ($overwrite || !$destFile->exists() || $destFile->lastModified() < $sourceFile->lastModified()) {
         if ($destFile->exists() && $destFile->isFile()) {
             $destFile->delete();
         }
         // ensure that parent dir of dest file exists!
         $parent = $destFile->getParentFile();
         if ($parent !== null && !$parent->exists()) {
             $parent->mkdirs($mode);
         }
         if (is_array($filterChains) && !empty($filterChains)) {
             $in = self::getChainedReader(new BufferedReader(new FileReader($sourceFile)), $filterChains, $project);
             $out = new BufferedWriter(new FileWriter($destFile));
             // New read() methods returns a big buffer.
             while (-1 !== ($buffer = $in->read())) {
                 // -1 indicates EOF
                 $out->write($buffer);
             }
             if ($in !== null) {
                 $in->close();
             }
             if ($out !== null) {
                 $out->close();
             }
             $destFile->setMode($sourceFile->getMode());
         } else {
             // simple copy (no filtering)
             $sourceFile->copyTo($destFile);
         }
         if ($preserveLastModified) {
             $destFile->setLastModified($sourceFile->lastModified());
         }
     }
 }
开发者ID:RadioCampusFrance,项目名称:airtime,代码行数:47,代码来源:FileUtils.php

示例4: chmodFile

 /**
  * Actually change the mode for the file.
  * @param PhingFile $file
  * @param int $mode
  */
 private function chmodFile(PhingFile $file, $mode)
 {
     if (!$file->exists()) {
         throw new BuildException("The file " . $file->__toString() . " does not exist");
     }
     try {
         $file->setMode($mode);
         if ($this->verbose) {
             $this->log("Changed file mode on '" . $file->__toString() . "' to " . vsprintf("%o", $mode));
         }
     } catch (Exception $e) {
         if ($this->failonerror) {
             throw $e;
         } else {
             $this->log($e->getMessage(), $this->quiet ? Project::MSG_VERBOSE : Project::MSG_WARN);
         }
     }
 }
开发者ID:kalaspuffar,项目名称:php-orm-benchmark,代码行数:23,代码来源:ChmodTask.php

示例5: copy

 /**
  * Copy a file.
  *
  * @param PhingFile $src  Source path and name file to copy.
  * @param PhingFile $dest Destination path and name of new file.
  *
  * @return void
  *
  * @throws IOException if file cannot be copied.
  */
 public function copy(PhingFile $src, PhingFile $dest)
 {
     global $php_errormsg;
     // Recursively copy a directory
     if ($src->isDirectory()) {
         return $this->copyr($src->getAbsolutePath(), $dest->getAbsolutePath());
     }
     $srcPath = $src->getAbsolutePath();
     $destPath = $dest->getAbsolutePath();
     if (false === @copy($srcPath, $destPath)) {
         // Copy FAILED. Log and return err.
         // Add error from php to end of log message. $php_errormsg.
         $msg = "FileSystem::copy() FAILED. Cannot copy {$srcPath} to {$destPath}. {$php_errormsg}";
         throw new IOException($msg);
     }
     $dest->setMode($src->getMode());
 }
开发者ID:TheTypoMaster,项目名称:SPHERE-Framework,代码行数:27,代码来源:FileSystem.php


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