PHP初心者の大学生です。初歩的な質問ですが、よかったらアドバイスいただけると嬉しいです。
(1) 画像とテキストをフォームから入力してもらう。
(2) 画像の拡張子を確認してから、フォルダに画像をアップロードし画像を縮小する。
(3) 縮小した画像のパスとテキストをデータベース(MySQL)に保存する。
(4) データベースから画像とテキストを表示する。
という流れのプログラムをローカルで組もうとしています。本やウェブサイトを参考にプログラムを作っているのですが、(1)から(2)の間で$_POSTと$_FILESの使い分けに頭がこんがらがってしまいました。
PHPの公式マニュアルには、$_POSTは"Content-Type に application/x-www-form-urlencoded あるいは multipart/form-data を用いた HTTP リクエストで、 HTTP POST メソッドから現在のスクリプトに渡された変数の連想配列です"、$_FILESは"HTTP POSTメソッドで現在のスクリプトにアップロードされた項目の連想配列です"と書いてあります。
自分の理解ではフォームから入力された内容はとりあえず$_POSTで受け取ればいいと思っていたのですが、プログラムの途中で$_POSTが$_FILESに変わったりするサンプルコードがあったり、$_POSTを使っていないサンプルコードがあったりしてわからなくなってしまいました。
また、フォームのためのphpファイルと、画像をアップロードするためのphpファイルが一つのファイルになっている場合や別々の場合があり、こういうのが関係しているのかもなどとも思ったりしたのですが、よくわかりませんでした。結局、$_POSTはどういうときに必要で、$_FILESはなんなのでしょうか。
長文になってしまい申し訳ございません。
よろしくお願いいたします。
参考にしたサイト:
PHP 画像のアップロード - Qiita
追加ボタンで画像フォームを増やしていく(データベース挿入・表示) - WEB製作のSumiDai.NET
回答4件
あなたの回答
tips
プレビュー