本文整理汇总了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('コピー先のファイル一覧');
}
示例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");
}
示例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);
}
}