• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像アップ)

php初心者のための画像アップロードの実装方法

このQ&Aのポイント
  • php初心者でも簡単に画像をアップロードできる方法を紹介します。拡張子を調べて特定の形式のみを許可することもできます。また、画像のサイズや縦横比を制限する方法もあります。
  • 画像アップロードには、<input>タグを使用してファイルを選択し、<form>タグでデータを送信する必要があります。phpの<$_FILES>を使用して、ファイルの情報を取得します。条件に合致する場合、ファイルを指定したディレクトリに保存することもできます。
  • 画像アップロード時に注意すべき点として、ファイルのサイズ制限や不正な形式のファイルを拒否することがあります。さらに、アップロードされた画像をリネームすることもできます。画像の処理や保存には十分な慎重さが必要です。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.3

追記しました。

flash0
質問者

お礼

丁寧な回答ありがとうございます 画像アップできるようになりました

その他の回答 (2)

noname#244856
noname#244856
回答No.2

ファイル名をチェックしたり、$_FILES['upfile']['type']を見るだけでは、受け取るファイルの種類を制限するには判定が甘すぎます。 getimagesize関数やfinfoクラスを利用する必要があります。 サンプル http://qiita.com/mpyw/items/73ee77a9535cc65eff1e

flash0
質問者

お礼

お答え頂きありがとうございます phpのバージョンが5.2.5だったので表示できませんでしたorz

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>1.拡張子を調べて限定したい。gif、jpg、pngの三つを許可したい $_FILES["upfile"]["name"]の文字列から後ろ4文字抜き出してチェックすればよいでしょう >2.画像の横と縦の幅が指定した幅より大きければ、指定した幅まで縦横比維持で縮小 100*100 できればPEAR::Image_Transformあたりを使うとかなり楽にできます scaleByLength(n)を利用すると、アップしたファイルの縦横長いほうの長さを nにリサイズできます。 http://pear.php.net/manual/ja/package.images.image-transform.php >3.もう一つのディレクトリに、小さいサムネイルを作りたい。大きさは32*32です 同上 >4.拡張子はそのままにして画像の名前をリネームしたいです 単純に画像名を変更するだけですね 逆に「リネームしたい」といわれてもどう名前を変えたいのか提示されていないので どうしようもないですね。 日時(マイクロ秒)を利用したり、テンポラリの名前をそのまま利用したり好きに すればいいでしょう。 なおリネームというよりは、テンポラリファイルを所定のフォルダに名称をつけて コピー(移動?)をするというのが正しいかもしれません。 http://www.php.net/manual/ja/function.move-uploaded-file.php

flash0
質問者

お礼

回答ありがとうございます みなさんのおかげでアップできるようになりました

関連するQ&A

専門家に質問してみよう