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


PHP SC_Utils::copyDirectory方法代码示例

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


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

示例1: mkdir

 public function testCopyDirectory_コピー先のファイルが元々存在する場合_上書きされる()
 {
     /**
      * tests/tmp/src
      *             /dir10
      *             /dir20/dir21
      *                   /file22.txt
      */
     mkdir(self::$TMP_DIR . "/src", 0700, true);
     mkdir(self::$TMP_DIR . "/src/dir10", 0700, true);
     mkdir(self::$TMP_DIR . "/src/dir20", 0700, true);
     mkdir(self::$TMP_DIR . "/src/dir20/dir21", 0700, true);
     $fp = fopen(self::$TMP_DIR . "/src/dir20/file22.txt", "w");
     fwrite($fp, "ec-cube test");
     fclose($fp);
     mkdir(self::$TMP_DIR . "/dst");
     mkdir(self::$TMP_DIR . "/dst/dir20");
     $fp_dist = fopen(self::$TMP_DIR . "/dst/dir20/file22.txt", "w");
     fwrite($fp_dist, "hello");
     fclose($fp_dist);
     SC_Utils::copyDirectory(self::$TMP_DIR . "/src/", self::$TMP_DIR . "/dst/");
     $this->expected = array("dir10", "dir20", "dir21", "file22.txt", "ec-cube test");
     $this->actual = array();
     Test_Utils::array_append($this->actual, Test_Utils::mapCols(SC_Helper_FileManager::sfGetFileList(self::$TMP_DIR . "/dst"), "file_name"));
     Test_Utils::array_append($this->actual, Test_Utils::mapCols(SC_Helper_FileManager::sfGetFileList(self::$TMP_DIR . "/dst/dir20"), "file_name"));
     $fp_final = fopen(self::$TMP_DIR . "/dst/dir20/file22.txt", "r");
     $read_result = fread($fp_final, 100);
     fclose($fp_final);
     $this->actual[] = $read_result;
     $this->verify('コピー先のファイル一覧');
 }
开发者ID:Rise-Up-Cambodia,项目名称:Rise-Up,代码行数:31,代码来源:SC_Utils_copyDirectoryTest.php

示例2: execPlugin

 public function execPlugin()
 {
     $this->log("start");
     $plugin_code = $this->arrPlugin['plugin_code'];
     // テーブル作成SQLなどを実行
     $arrSql = $this->arrInstallData['sql'];
     $arrErr = array();
     // SQLの検証
     foreach ($arrSql as $sql) {
         $this->log("verify sql: " . $sql['sql']);
         $error_message = $this->verifySql($sql['sql'], $sql['params']);
         if (!is_null($error_message)) {
             $this->log("verify sql: invalid sql " . $sql['sql']);
             $this->log("verify sql: {$error_message}");
             $arrErr[] = $error_message;
         }
     }
     if (count($arrErr) > 0) {
         return $arrErr;
     }
     $objQuery =& SC_Query_Ex::getSingletonInstance();
     // SQLの実行
     if (!SC_Utils_Ex::isBlank($arrSql)) {
         foreach ($arrSql as $sql) {
             $this->log("exec sql: " . $sql['sql']);
             $objQuery->query($sql['sql'], $sql['params']);
         }
     }
     $arrInsertQuery = $this->arrInstallData['insert'];
     if (!SC_Utils_Ex::isBlank($arrInsertQuery)) {
         foreach ($arrInsertQuery as $query) {
             $objQuery->insert($query['table'], $query['arrVal'], $query['arrSql'], $query['arrSqlVal'], $query['form'], $query['arrFromVal']);
         }
     }
     $arrUpdateQuery = $this->arrInstallData['update'];
     if (!SC_Utils_Ex::isBlank($arrUpdateQuery)) {
         foreach ($arrUpdateQuery as $query) {
             $objQuery->update($query['table'], $query['arrVal'], $query['where'], $query['arrWhereVal'], $query['arrRawSql'], $query['arrRawSqlVal']);
         }
     }
     // プラグインのディレクトリコピー
     $arrCopyDirectories = $this->arrInstallData['copy_directory'];
     if (!SC_Utils_Ex::isBlank($arrCopyDirectories)) {
         foreach ($arrCopyDirectories as $directory) {
             $this->log("exec dir copy: " . $directory['src'] . ' -> ' . $directory['dist']);
             // ディレクトリコピー -> HTML配下とDATA配下を別関数にする
             SC_Utils::copyDirectory(PLUGIN_UPLOAD_REALDIR . $plugin_code . DIRECTORY_SEPARATOR . $directory['src'], PLUGIN_HTML_REALDIR . $plugin_code . DIRECTORY_SEPARATOR . $directory['dist']);
         }
     }
     // プラグインのファイルコピー
     $arrCopyFiles = $this->arrInstallData['copy_file'];
     if (!SC_Utils_Ex::isBlank($arrCopyFiles)) {
         foreach ($arrCopyFiles as $file) {
             $this->log("exec file copy: " . $file['src'] . ' -> ' . $file['dist']);
             // ファイルコピー
             copy(PLUGIN_UPLOAD_REALDIR . $plugin_code . DIRECTORY_SEPARATOR . $file['src'], PLUGIN_HTML_REALDIR . $plugin_code . DIRECTORY_SEPARATOR . $file['dist']);
         }
     }
     $this->log("end");
 }
开发者ID:casan,项目名称:eccube-2_13,代码行数:60,代码来源:SC_Plugin_Installer.php

示例3: copyDirectory

 /**
  * 指定されたパスの配下を再帰的にコピーします.
  *
  * @param string $source_path
  *            コピー元ディレクトリのパス
  * @param string $dest_path
  *            コピー先ディレクトリのパス
  * @return void
  */
 public static function copyDirectory($source_path, $dest_path)
 {
     // $source_path が誤った設定の場合処理を行わない
     if (is_dir($source_path)) {
         parent::copyDirectory($source_path, $dest_path);
     } else {
         trigger_error("{$source_path} が存在しません", E_USER_WARNING);
     }
 }
开发者ID:alice-asahina,项目名称:kisekae_touch,代码行数:18,代码来源:SC_Utils_Ex.php


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