本文整理汇总了PHP中Eccube\Framework\Util\Utils::recursiveMkdir方法的典型用法代码示例。如果您正苦于以下问题:PHP Utils::recursiveMkdir方法的具体用法?PHP Utils::recursiveMkdir怎么用?PHP Utils::recursiveMkdir使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Eccube\Framework\Util\Utils
的用法示例。
在下文中一共展示了Utils::recursiveMkdir方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sfWriteFile
/**
* ファイル書込を行う.
*
* @param string $filename ファイルパス
* @param string $value 書き込み内容
* @return boolean ファイルの書き込みに成功した場合 true
*/
public function sfWriteFile($filename, $value)
{
if (!is_dir(dirname($filename))) {
Utils::recursiveMkdir(dirname($filename), 0777);
}
$fp = fopen($filename, 'w');
if ($fp === false) {
return false;
}
if (fwrite($fp, $value) === false) {
return false;
}
return fclose($fp);
}
示例2: doDownload
/**
* ダウンロードを実行する.
*
* 指定のテンプレートをアーカイブし, ブラウザに出力する.
* 失敗した場合は, エラーメッセージを出力し, false を返す.
*
* @param string $template_code テンプレートコード
* @return boolean 成功した場合 true; 失敗した場合 false
*/
public function doDownload($template_code)
{
$from_dir = USER_TEMPLATE_REALDIR . $template_code . '/';
$to_dir = SMARTY_TEMPLATES_REALDIR . $template_code . '/_packages/';
if (Utils::recursiveMkdir($to_dir) === false) {
$this->arrErr['err'] = '※ ディレクトリの作成に失敗しました<br />';
return false;
}
Utils::sfCopyDir($from_dir, $to_dir);
if (Application::alias('eccube.helper.file_manager')->downloadArchiveFiles(SMARTY_TEMPLATES_REALDIR . $template_code, $template_code) === false) {
$this->arrErr['err'] = '※ アーカイブファイルの作成に失敗しました<br />';
return false;
}
return true;
}
示例3: doUpload
/**
* DBおよびファイルシステムにテンプレートパッケージを追加する.
*
* エラーが発生した場合は, エラーを出力し, false を返す.
*
* @param FormParam $objFormParam FormParamのインスタンス
* @param UploadFile $objUpFile UploadFileのインスタンス
* @return boolean 成功した場合 true; 失敗した場合 false
*/
public function doUpload($objFormParam, $objUpFile)
{
$template_code = $objFormParam->getValue('template_code');
$template_name = $objFormParam->getValue('template_name');
$device_type_id = $objFormParam->getValue('device_type_id');
$template_dir = SMARTY_TEMPLATES_REALDIR . $template_code;
$compile_dir = DATA_REALDIR . 'Smarty/templates_c/' . $template_code;
$objQuery = Application::alias('eccube.query');
$objQuery->begin();
$arrValues = array('template_code' => $template_code, 'device_type_id' => $device_type_id, 'template_name' => $template_name, 'create_date' => 'CURRENT_TIMESTAMP', 'update_date' => 'CURRENT_TIMESTAMP');
$objQuery->insert('dtb_templates', $arrValues);
// フォルダ作成
if (!file_exists($template_dir)) {
if (!mkdir($template_dir)) {
$this->arrErr['err'] = '※ テンプレートフォルダが作成できませんでした。<br/>';
$objQuery->rollback();
return false;
}
}
if (!file_exists($compile_dir)) {
if (!mkdir($compile_dir)) {
$this->arrErr['err'] = '※ Smarty コンパイルフォルダが作成できませんでした。<br/>';
$objQuery->rollback();
return false;
}
}
// 一時フォルダから保存ディレクトリへ移動
$objUpFile->moveTempFile();
// 解凍
if (!Application::alias('eccube.helper.file_manager')->unpackFile($template_dir . '/' . $_FILES['template_file']['name'])) {
$this->arrErr['err'] = '※ テンプレートファイルの解凍に失敗しました。<br/>';
$objQuery->rollback();
return false;
}
// ユーザデータの下のファイルをコピーする
$from_dir = SMARTY_TEMPLATES_REALDIR . $template_code . '/_packages/';
$to_dir = USER_REALDIR . 'packages/' . $template_code . '/';
if (!Utils::recursiveMkdir($to_dir)) {
$this->arrErr['err'] = '※ ' . $to_dir . ' の作成に失敗しました。<br/>';
$objQuery->rollback();
return false;
}
Utils::sfCopyDir($from_dir, $to_dir);
$objQuery->commit();
return true;
}