PHP ディレクトリを作成してファイル保存(mkdir()、file_put_contents())
「file_put_contents()」だと保存先のPATHが無ければエラーになってしまうので、その対策
作成日:2018-02-26, 更新日:2018-07-10
基本
「file_put_contents()」を使うと簡単にファイル保存してくれるんだけど、保存先のディレクトリが無かったらエラーになる。
そのため、「file_put_contents()」をする前に保存先のディレクトリの存在確認をして、無ければ作るっていう処理が必要。
function makeDir($dir){
$parts = explode('/', $dir);
$dir = '';
foreach($parts as $part) {
if(!is_dir($dir .= "/$part")) {
mkdir($dir);
}
}
}
// 保存先のPATH
$dir = 〇〇〇/〇〇〇/〇〇〇;
makeDir($dir);
// ファイル名
$fileName = '/XXX.txt';
// ファイルの中身
$body = 〇〇〇;
file_put_contents($dir . $fileName, $body, FILE_APPEND | LOCK_EX);
・FILE_APPEND - 上書き保存
・LOCK_EX - ロック処理させる