質問: $dbh->prepare($sql); // パラメータを割り当て $stmt->bindParam(':text', $text, PDO::PARAM_STR); $stmt->bindParam(':image', $MiddleimageFilePath, PDO::PARAM_STR); // クエリの実行 $stmt->execute(); // view.phpに移動 echo "レシピの登録が完了しました。"; exit(); } catch(PDOException $e) { echo "エラー発生: " . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . ""; die(); } ?> ``` 場合によっては、アップロード→縮小→DBにテキストと画像のパスを収納、とうまくいくこともあるのですが、 選ぶ画像(~10MB)によって > > は画像ファイル(JPEG/PNG) ではありません。 > > > と自分が設定したメッセージが、ファイル名を抜かして表示されます。 ファイルサイズが小さいファイル(~1.2MB)はうまくいく傾向にあったので、ファイルサイズの問題かなと思い、php.iniのpost_max_sizeやupload_max_filesizeを変更してみたりもしたのですが、やはりアップロードできませんでした。 また、テキストを入力しているにもかかわらず > > 料理名が入力されていません。 > > > というメッセージが表示されることもあります。英語と日本語で試してみたのですが、言語の問題ではないようで、今の所ランダムです。 この結果がぶれる原因を自分で見つけられず相談させていただきました。 もしよかったらアドバイスいただけると嬉しいです。 よろしくお願いいたします。 --- 参考にしたサイト: PHP 画像のアップロード - Qiita 追加ボタンで画像フォームを増やしていく(データベース挿入・表示) - WEB製作のSumiDai.NET
回答: php.iniのpost_max_sizeの初期設定が8MBだったため、容量オーバーで送信できていないことが原因だった。php.iniの該当箇所を修正することで送信できるようになった。