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 - ロック処理させる