.htaccessでPHPのファイルアップロードサイズの上限値を変更
2022.02.5
PHPを使用して画像(動画・PDF等)をアップロードするフォームを作成した際に、ファイル…

データベースのバックアップを取りたい時、毎回管理ツールからエクスポートボタンを押しても可能だけれど、押し忘れや対応できない時があるのを避けるため自動化した際の内容をメモ。
$dbHost = '○○○○'; // MySQLホスト名
$dbName = '○○○○'; // データベース名
$dbUser = '○○○○'; // データベースユーザー名
$dbPass = '○○○○'; // データベースパスワード
$filePath = './○○○○/'; // ファイルを保存するディレクトリ
$fileName = date('Ymd_His').'.sql';
$savePath = $filePath.$fileName;
$command = "mysqldump ".$dbName." --host=".$dbHost." --user=".$dbUser." --password=".$dbPass." > ".$savePath;
exec($command);
「$filePath」に記載した内容のディレクトリ(パーミッション777)を作成し、上記を記述したファイルをサーバーに用意されているクーロン機能を使って定期的に実行する。
尚、ワードプレスで使用する場合は対象サイトの直下に下記のファイルを設置。
データベースとアップロードファイルをダウンロードします。
include('./wp/wp-config.php'); //ワードプレスの設定ファイル
$dbHost = DB_HOST;
$dbName = DB_NAME;
$dbUser = DB_USER;
$dbPass = DB_PASSWORD;
$filePath = './○○○○/'; // ファイルを保存するディレクトリ
$fileName = date('Ymd_His').'.sql';
$savePath = $filePath.$fileName;
$command = "mysqldump ".$dbName." --host=".$dbHost." --user=".$dbUser." --password=".$dbPass." > ".$savePath;
exec($command);
// 圧縮元ディレクトリ
$sourceDir = './wp/wp-content/uploads'; //ワードプレスのアップロードディレクトリ
// 保存先ディレクトリ
$destinationDir = $filePath;
// 保存するZIPファイル名
$zipFile = $destinationDir.'/backup_'.date('Ymd_His').'.zip';
$zip = new ZipArchive();
if ($zip->open($zipFile, ZipArchive::CREATE | ZipArchive::OVERWRITE) === TRUE) {
// 再帰的にファイルを追加する関数
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($sourceDir, FilesystemIterator::SKIP_DOTS),
RecursiveIteratorIterator::SELF_FIRST
);
foreach ($files as $file) {
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($sourceDir) + 1);
if ($file->isDir()) {
$zip->addEmptyDir($relativePath);
} else {
$zip->addFile($filePath, $relativePath);
}
}
$zip->close();
} else {
echo "ZIPファイルの作成に失敗しました。";
}

2022.02.5
PHPを使用して画像(動画・PDF等)をアップロードするフォームを作成した際に、ファイル…

2020.10.3
テキストエリア等で入力した文字の中にURLを含んでいた場合に、自動で認識してリンクタグを…

2024.03.30
外部ファイル(CSVファイル等)を読み込んでサイト内に表示する際に、保存時の文字コードが…

2020.12.5
メールフォームからメールを送信する際に、画像(ファイル)を添付できるようにしてほしいとの…

2023.12.2
ワードプレスの投稿のカテゴリー機能を、目的ごとに使い分けたいというご要望があった際に、カ…

2020.08.1
動画ファイルをCMS化して保存するときに、多くの場合はファイルパスをデータベース(MyS…

2022.09.24
パソコンやスマートフォンの戻るボタンを使って画面を戻す(ブラウザバックする)時があります…

2022.02.19
画像データ等をサーバーにアップロードする際、一点づつアップロードしても良いけれど、ファイ…

2020.08.15
フォームの入力値やURLのパラメータ等、文字列や数値を受け取る際に正規表現を利用してバリ…

2019.12.29
メールフォーム等での入力値チェック(バリデーション)。PHPの「preg_match」(…