本文整理汇总了PHP中SC_Utils::sfCopyDir方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Utils::sfCopyDir方法的具体用法?PHP SC_Utils::sfCopyDir怎么用?PHP SC_Utils::sfCopyDir使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Utils
的用法示例。
在下文中一共展示了SC_Utils::sfCopyDir方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: lfCopyTplPackage
/**
* 現在選択しているテンプレートパッケージをupload/temp_template/以下にコピーする
*
* @param string $to 保存先パス
* @return void
*/
function lfCopyTplPackage($to)
{
$nowTpl = $this->lfGetNowTemplate();
if (!$nowTpl) {
return;
}
$from = TPL_PKG_PATH . $nowTpl . '/';
SC_Utils::sfCopyDir($from, $to, '');
}
示例2: mkdir
public function testSfCopyDir_上書きフラグがONかつ書き込み権限がない場合_同名ファイルが上書きされない()
{
mkdir(self::$TMP_DIR . "/src", 0777, true);
mkdir(self::$TMP_DIR . "/dst", 0777, true);
// コピー先も作成しておく
$fp = fopen(self::$TMP_DIR . "/src/test.txt", "w");
fwrite($fp, "hello");
fclose($fp);
// 上書きされないファイル
$test_file = self::$TMP_DIR . "/dst/test.txt";
$fp = fopen($test_file, "w");
fwrite($fp, "good morning");
fclose($fp);
chmod($test_file, 0444);
// いったん読取専用にする
$src = self::$TMP_DIR . "/src/";
$dst = self::$TMP_DIR . "/dst/";
$this->expected = array('dir_exists' => TRUE, 'files' => array('test.txt'), 'file_content' => 'good morning');
SC_Utils::sfCopyDir($src, $dst, '', TRUE);
$this->actual['dir_exists'] = is_dir($dst);
$this->actual['files'] = Test_Utils::mapCols(SC_Helper_FileManager::sfGetFileList($dst), 'file_name');
$fp = fopen($test_file, "r");
$this->actual['file_content'] = fread($fp, 100);
chmod($test_file, 0777);
// verifyする前にパーミッションを戻す
$this->verify();
}
示例3: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
// 認証可否の判定
$objSession = new SC_Session();
SC_Utils::sfIsSuccess($objSession);
// uniqidをテンプレートへ埋め込み
$this->uniqid = $objSession->getUniqId();
$objView = new SC_AdminView();
switch ($this->lfGetMode()) {
// 登録ボタン押下時
case 'register':
// 画面遷移の正当性チェック
if (!SC_Utils::sfIsValidTransition($objSession)) {
sfDispError('');
}
// パラメータ検証
$objForm = $this->lfInitRegister();
if ($objForm->checkError()) {
SC_Utils_Ex::sfDispError('');
}
$template_code = $objForm->getValue('template_code');
$this->tpl_select = $template_code;
if ($template_code == "") {
$template_code = "default";
}
// DBへ使用するテンプレートを登録
$this->lfRegisterTemplate($template_code);
// XXX コンパイルファイルのクリア処理を行う
$objView->_smarty->clear_compiled_tpl();
// common.cssの内容を更新
$this->lfChangeCommonCss($template_code);
// テンプレートのコピー
$this->lfCopyTemplate($template_code);
// ブロック位置を更新
$this->lfChangeBloc($template_code);
// 完了メッセージ
$this->tpl_onload = "alert('登録が完了しました。');";
break;
// 削除ボタン押下時
// 削除ボタン押下時
case 'delete':
// 画面遷移の正当性チェック
if (!SC_Utils::sfIsValidTransition($objSession)) {
SC_Utils::sfDispError('');
}
// パラメータ検証
$objForm = $this->lfInitDelete();
if ($objForm->checkError()) {
SC_Utils::sfDispError('');
}
//現在使用中のテンプレートとデフォルトのテンプレートは削除できないようにする
$template_code = $objForm->getValue('template_code_temp');
if ($template_code == TEMPLATE_NAME || $template_code == DEFAULT_TEMPLATE_NAME) {
$this->tpl_onload = "alert('選択中のテンプレートは削除出来ません');";
break;
}
$this->lfDeleteTemplate($template_code);
break;
// downloadボタン押下時
// downloadボタン押下時
case 'download':
// 画面遷移の正当性チェック
if (!SC_Utils::sfIsValidTransition($objSession)) {
SC_Utils::sfDispError('');
}
// パラメータ検証
$objForm = $this->lfInitDownload();
$template_code = $objForm->getValue('template_code_temp');
// ユーザデータの下のファイルも保存する。
$from_dir = USER_TEMPLATE_PATH . $template_code . "/";
$to_dir = SMARTY_TEMPLATES_DIR . $template_code . "/_packages/";
SC_Utils::sfMakeDir($to_dir);
SC_Utils::sfCopyDir($from_dir, $to_dir);
SC_Helper_FileManager::downloadArchiveFiles(SMARTY_TEMPLATES_DIR . $template_code);
break;
// プレビューボタン押下時
// プレビューボタン押下時
case 'preview':
break;
default:
break;
}
// defaultパラメータのセット
$this->templates = $this->lfGetAllTemplates();
$this->now_template = TEMPLATE_NAME;
// 画面の表示
$objView->assignobj($this);
$objView->display(MAIN_FRAME);
}
示例4: sfCopyDir
function sfCopyDir($src, $des, $mess = "", $override = false)
{
if (!is_dir($src)) {
return false;
}
$oldmask = umask(0);
$mod = stat($src);
// ディレクトリがなければ作成する
if (!file_exists($des)) {
if (!mkdir($des, $mod[2])) {
print "path:" . $des;
}
}
$fileArray = glob($src . "*");
foreach ($fileArray as $key => $data_) {
// CVS管理ファイルはコピーしない
if (ereg("/CVS/Entries", $data_)) {
break;
}
if (ereg("/CVS/Repository", $data_)) {
break;
}
if (ereg("/CVS/Root", $data_)) {
break;
}
mb_ereg("^(.*[\\/])(.*)", $data_, $matches);
$data = $matches[2];
if (is_dir($data_)) {
$mess = SC_Utils::sfCopyDir($data_ . '/', $des . $data . '/', $mess);
} else {
if (!$override && file_exists($des . $data)) {
$mess .= $des . $data . ":ファイルが存在します\n";
} else {
if (@copy($data_, $des . $data)) {
$mess .= $des . $data . ":コピー成功\n";
} else {
$mess .= $des . $data . ":コピー失敗\n";
}
}
$mod = stat($data_);
}
}
umask($oldmask);
return $mess;
}