本文整理汇总了PHP中SC_Utils_Ex::sfDelFile方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Utils_Ex::sfDelFile方法的具体用法?PHP SC_Utils_Ex::sfDelFile怎么用?PHP SC_Utils_Ex::sfDelFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Utils_Ex
的用法示例。
在下文中一共展示了SC_Utils_Ex::sfDelFile方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: doDelete
/**
* テンプレートパッケージの削除.
*
* @param string $template_code テンプレートコード
* @param integer $device_type_id 端末種別ID
* @return boolean 成功した場合 true; 失敗した場合 false
*/
function doDelete($template_code, $device_type_id)
{
if ($template_code == $this->getTemplateName($device_type_id) || $template_code == $this->getTemplateName($device_type_id, true)) {
$this->arrErr['err'] = "※ デフォルトテンプレートと、選択中のテンプレートは削除出来ません<br />";
return false;
} else {
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->begin();
$objQuery->delete('dtb_templates', 'template_code = ? AND device_type_id = ?', array($template_code, $device_type_id));
$error = "※ テンプレートの削除ができませんでした<br />";
// テンプレート削除
$templates_dir = SMARTY_TEMPLATES_REALDIR . $template_code . "/";
if (SC_Utils_Ex::sfDelFile($templates_dir) === false) {
$this->arrErr['err'] = $error;
$objQuery->rollback();
return false;
}
// ユーザーデータ削除
$user_dir = USER_TEMPLATE_REALDIR . $template_code . "/";
if (SC_Utils_Ex::sfDelFile($user_dir) === false) {
$this->arrErr['err'] = $error;
$objQuery->rollback();
return false;
}
// コンパイル削除
$templates_c_dir = DATA_REALDIR . "Smarty/templates_c/" . $template_code . "/";
if (SC_Utils_Ex::sfDelFile($templates_c_dir) === false) {
$this->arrErr['err'] = $error;
$objQuery->rollback();
return false;
}
$objQuery->commit();
return true;
}
}
示例2: sfDelFile
function sfDelFile($dir)
{
if (file_exists($dir)) {
$dh = opendir($dir);
// フォルダ内のファイルを削除
while ($file = readdir($dh)) {
if ($file == "." or $file == "..") {
continue;
}
$del_file = $dir . "/" . $file;
if (is_file($del_file)) {
$ret = unlink($dir . "/" . $file);
} else {
if (is_dir($del_file)) {
$ret = SC_Utils_Ex::sfDelFile($del_file);
}
}
if (!$ret) {
return $ret;
}
}
// 閉じる
closedir($dh);
// フォルダを削除
return rmdir($dir);
}
}
示例3: lfDeleteTemplate
/**
* テンプレートパッケージの削除
*/
function lfDeleteTemplate($template_code)
{
// DB更新
$objQuery = new SC_Query();
$objQuery->delete('dtb_templates', 'template_code = ?', array($template_code));
// テンプレート削除
$templates_dir = SMARTY_TEMPLATES_DIR . $template_code . "/";
SC_Utils_Ex::sfDelFile($templates_dir);
// コンパイル削除
$templates_c_dir = DATA_PATH . "Smarty/templates_c/" . $template_code . "/";
SC_Utils_Ex::sfDelFile($templates_c_dir);
// ユーザーデータ削除
$user_dir = USER_TEMPLATE_PATH . $template_code . "/";
SC_Utils_Ex::sfDelFile($user_dir);
}
示例4: lfCreateBkupData
/**
* バックアップファイル作成.
*
* TODO $csv_data はデータを大きく保持しすぎに感じる。分割して書き込みたい。
* @param string $bkup_name
* @return array $arrErr
*/
function lfCreateBkupData($bkup_name, $bkup_dir)
{
// 実行時間を制限しない
set_time_limit(0);
$objQuery =& SC_Query_Ex::getSingletonInstance();
$csv_data = '';
$csv_autoinc = "";
$arrData = array();
$success = true;
if (!is_dir(dirname($bkup_dir))) {
$success = mkdir(dirname($bkup_dir));
}
$bkup_dir = $bkup_dir . $bkup_name . "/";
// 全テーブル取得
$arrTableList = $objQuery->listTables();
// 各テーブル情報を取得する
foreach ($arrTableList as $table) {
if (!($table == "dtb_bkup" || $table == "mtb_zip")) {
// 全データを取得
if ($table == "dtb_pagelayout") {
$arrData = $objQuery->getAll("SELECT * FROM {$table} ORDER BY page_id");
} else {
$arrData = $objQuery->getAll("SELECT * FROM {$table}");
}
// CSVデータ生成
if (count($arrData) > 0) {
// テーブル名
$csv_data .= $table . "\r\n";
// カラム名
$csv_data .= SC_Helper_CSV_Ex::sfArrayToCsv(array_keys($arrData[0])) . "\r\n";
// データ
foreach ($arrData as $data_val) {
$csv_data .= SC_Helper_CSV_Ex::sfArrayToCsv($data_val) . "\r\n";
}
// テーブル終端
$csv_data .= "\r\n";
}
// タイムアウトを防ぐ
SC_Utils_Ex::sfFlush();
}
}
// 自動採番型の構成を取得する
$csv_autoinc = $this->lfGetAutoIncrement();
$csv_file = $bkup_dir . "bkup_data.csv";
$csv_autoinc_file = $bkup_dir . "autoinc_data.csv";
mb_internal_encoding(CHAR_CODE);
// CSV出力
// ディレクトリが存在していなければ作成する
if (!is_dir(dirname($csv_file))) {
$success = mkdir(dirname($csv_file));
}
if ($success) {
// dataをCSV出力
$fp = fopen($csv_file, 'w');
if ($fp) {
if ($csv_data != "") {
$success = fwrite($fp, $csv_data);
}
fclose($fp);
}
// 自動採番をCSV出力
$fp = fopen($csv_autoinc_file, 'w');
if ($fp) {
if ($csv_autoinc != "") {
$success = fwrite($fp, $csv_autoinc);
}
fclose($fp);
}
}
if ($success) {
//圧縮フラグTRUEはgzip圧縮をおこなう
$tar = new Archive_Tar($this->bkup_dir . $bkup_name . $this->bkup_ext, TRUE);
//bkupフォルダに移動する
chdir($this->bkup_dir);
//圧縮をおこなう
$zip = $tar->create("./" . $bkup_name . "/");
// バックアップデータの削除
if ($zip) {
SC_Utils_Ex::sfDelFile($bkup_dir);
}
}
if (!$success) {
$arrErr['bkup_name'] = "バックアップに失敗しました。";
// バックアップデータの削除
SC_Utils_Ex::sfDelFile($bkup_dir);
}
return isset($arrErr) ? $arrErr : array();
}
示例5: unpackFile
/**
* tarアーカイブを解凍する.
*
* @param string $path アーカイブパス
* @return boolean Archive_Tar::extractModify()のエラー
*/
function unpackFile($path)
{
// 圧縮フラグTRUEはgzip解凍をおこなう
$tar = new Archive_Tar($path, true);
$dir = dirname($path);
$file_name = basename($path);
// 拡張子を切り取る
$unpacking_name = preg_replace("/(\\.tar|\\.tar\\.gz)\$/", "", $file_name);
// 指定されたフォルダ内に解凍する
$result = $tar->extractModify($dir . "/", $unpacking_name);
GC_Utils_Ex::gfPrintLog("解凍:" . $dir . "/" . $file_name . "->" . $dir . "/" . $unpacking_name);
// フォルダ削除
SC_Utils_Ex::sfDelFile($dir . "/" . $unpacking_name);
// 圧縮ファイル削除
unlink($path);
return $result;
}
示例6: lfCreateBkupData
//.........这里部分代码省略.........
if ($val == "dtb_pagelayout") {
$arrData = $objQuery->getAll("SELECT * FROM {$val} ORDER BY page_id");
} else {
$arrData = $objQuery->getAll("SELECT * FROM {$val}");
}
// CSVデータ生成
if (count($arrData) > 0) {
// カラムをCSV形式に整える
$arrKyes = SC_Utils_Ex::sfGetCommaList(array_keys($arrData[0]), false);
// データをCSV形式に整える
$data = "";
foreach ($arrData as $data_key => $data_val) {
//$val = str_replace("\"", "\\\"", $val);
$data .= $this->lfGetCSVList($arrData[$data_key]);
}
// CSV出力データ生成
$csv_data .= $val . "\r\n";
$csv_data .= $arrKyes . "\r\n";
$csv_data .= $data;
$csv_data .= "\r\n";
}
// タイムアウトを防ぐ
SC_Utils_Ex::sfFlush();
}
}
$csv_file = $bkup_dir . "bkup_data.csv";
$csv_autoinc_file = $bkup_dir . "autoinc_data.csv";
mb_internal_encoding(CHAR_CODE);
// CSV出力
// ディレクトリが存在していなければ作成する
if (!is_dir(dirname($csv_file))) {
$err = mkdir(dirname($csv_file));
}
if ($err) {
// dataをCSV出力
$fp = fopen($csv_file, "w");
if ($fp) {
if ($csv_data != "") {
$err = fwrite($fp, $csv_data);
}
fclose($fp);
}
// 自動採番をCSV出力
$fp = fopen($csv_autoinc_file, "w");
if ($fp) {
if ($csv_autoinc != "") {
$err = fwrite($fp, $csv_autoinc);
}
fclose($fp);
}
}
// 各種ファイルコピー
if ($err) {
/**
// 商品画像ファイルをコピー
// ディレクトリが存在していなければ作成する
$image_dir = $bkup_dir . "save_image/";
if (!is_dir(dirname($image_dir))) $err = mkdir(dirname($image_dir));
$copy_mess = "";
$copy_mess = SC_Utils_Ex::sfCopyDir("../../upload/save_image/",$image_dir, $copy_mess);
// テンプレートファイルをコピー
// ディレクトリが存在していなければ作成する
$templates_dir = $bkup_dir . "templates/";
if (!is_dir(dirname($templates_dir))) $err = mkdir(dirname($templates_dir));
$copy_mess = "";
$copy_mess = SC_Utils_Ex::sfCopyDir("../../user_data/templates/",$templates_dir, $copy_mess);
// インクルードファイルをコピー
// ディレクトリが存在していなければ作成する
$inc_dir = $bkup_dir . "include/";
if (!is_dir(dirname($inc_dir))) $err = mkdir(dirname($inc_dir));
$copy_mess = "";
$copy_mess = SC_Utils_Ex::sfCopyDir("../../user_data/include/",$inc_dir, $copy_mess);
// CSSファイルをコピー
// ディレクトリが存在していなければ作成する
$css_dir = $bkup_dir . "css/";
if (!is_dir(dirname($css_dir))) $err = mkdir(dirname($css_dir));
$copy_mess = "";
$copy_mess = SC_Utils_Ex::sfCopyDir("../../user_data/css/",$css_dir, $copy_mess);
**/
//圧縮フラグTRUEはgzip圧縮をおこなう
$tar = new Archive_Tar($this->bkup_dir . $bkup_name . ".tar.gz", TRUE);
//bkupフォルダに移動する
chdir($this->bkup_dir);
//圧縮をおこなう
$zip = $tar->create("./" . $bkup_name . "/");
// バックアップデータの削除
if ($zip) {
SC_Utils_Ex::sfDelFile($bkup_dir);
}
}
if (!$err) {
$arrErr['bkup_name'] = "バックアップに失敗しました。";
// バックアップデータの削除
SC_Utils_Ex::sfDelFile($bkup_dir);
}
return isset($arrErr) ? $arrErr : array();
}