file_put_contents()を実行するとフォルダが作成される
2023-12-22 18:35:32
質問
私はウェブサイトから多くの画像をアップロードしており、より良い方法でファイルを整理する必要があります。 したがって、私は月ごとにフォルダを作成することにしました。
$month = date('Yd')
file_put_contents("upload/promotions/".$month."/".$image, $contents_data);
を試したところ、エラーが発生しました。
Message: file_put_contents(upload/promotions/201211/ang232.png): ストリームを開くのに失敗しました。そのようなファイルまたはディレクトリはありません
既存のフォルダにファイルのみを配置しようとすると、うまくいきました。しかし、新しいフォルダの作成に失敗しました。
この問題を解決する方法はありますか?
どのように解決するのですか?
file_put_contents()
はディレクトリ構造を作成しません。ファイルのみです。
をテストするために、スクリプトにロジックを追加する必要があります。
月
ディレクトリが存在するかどうかをテストするためのロジックを追加する必要があります。存在しない場合は
mkdir()
を最初に使用します。
if (!is_dir('upload/promotions/' . $month)) {
// dir doesn't exist, make it
mkdir('upload/promotions/' . $month);
}
file_put_contents('upload/promotions/' . $month . '/' . $image, $contents_data);
更新しました。
mkdir()
は第3パラメータとして
$recursive
で、これは
任意の
を作成します。複数のディレクトリを作成する必要がある場合に便利かもしれません。
再帰的でディレクトリのパーミッションが777に設定された例。
mkdir('upload/promotions/' . $month, 0777, true);
関連
-
[解決済み] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given [重複] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given.
-
[解決済み】PHP 7.2 - Warning: count(): パラメータは配列かCountableを実装したオブジェクトでなければならない [解決済み]
-
[解決済み】XAMPPエラー: www.example.com:443:0 サーバー証明書に、サーバー名と一致するIDが含まれていません。
-
[解決済み】phpMyAdmin: シークレットパスフレーズ?
-
[解決済み】/var/www/htmlとは何ですか?[クローズド]
-
MacでPHPを実行した際に、メモリサイズが134217728バイトも消費される問題の解決方法について
-
[解決済み】Wordpressの子テーマのstyle.cssが効かない。
-
[解決済み] 致命的なエラーです。mysqli_result 型のオブジェクトを使用できません [終了] 。
-
[解決済み] どのような場合に '$this' よりも 'self' を使うべきですか?
-
[解決済み] Laravel 5 必要な bootstrap/../vendor/autoload.php を開くのに失敗しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PHP - 構文エラー、予期しないT_CONSTANT_ECAPSED_STRING [閉店].
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】予期せぬ例外。SQLSTATE[HY000] [1045] Access denied for user ****@'localhost' (using password: YES)
-
[解決済み】mysqli_result クラスのオブジェクトを文字列に変換できない
-
[解決済み】変な電話番号を生成するフェイカー?
-
[解決済み】XAMPPのphpMyAdminで「設定にあるcontroluserの接続に失敗しました。
-
[解決済み】ディレクトリ内のファイル数を数える PHP
-
[解決済み】「Fatal error: Class 'MySQLi' not found "を解決するには?
-
[解決済み] 警告:mysqli_fetch_array()は、パラメータ1がmysqli_resultであることを期待する、オブジェクトはで指定された。
-
[解決済み] [Solved] Fatal error: メンバ関数 query() の null への呼び出し。