- 締切済み
PHPで画像アップロード時にサイズ変更できるのですか?
いつも適切なご回答ありがとうございます。 PHPでPCサイトに画像アップロード機能というのは以前に作成したことがあります。 <input type="hidden" name="MAX_FILE_SIZE" value="30000"> <input type="file" name="upfile" size="35" class="smt">・・・・・ 今回やりたい事はPCで画像アップロードしたものを携帯サイト(サイズ制限ありますよね)で表示というものなのですが、画像処理ソフトなどを使用せず例えばデジカメで撮った画像をそのままアップロードしても表示するということは可能なのでしょうか?GDなどを使うのでしょうか?それとも最初から携帯などで撮った小さいサイズの画像をアップロードした方が良いのでしょうか?どなたかアドバイスお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- umota
- ベストアンサー率46% (150/324)
> どんなサイズでも可能なんですか? アップロードファイルサイズは php.ini の設定値(規定では 2MB)によります。 私は php.ini を upload_max_filesize = 5M にしています。 3-5MB 位なら問題なく動作しています。(それ以上は試していないのでわかりません) マニュアル V.機能 38章 ファイルアップロードの処理 も参照すると良いでしょう。 縮小すれば当然、ファイルサイズは小さくなりますが 意図的にもっとファイルサイズを小さくするならば imagejpeg 関数等の quality(品質)を下げます。(これもマニュアルを参照)
- yossy-55
- ベストアンサー率55% (5/9)
リサイズというのはwidthとheightという意味ですか? ImageCopyResized( コピー先イメージ, コピー元イメージ, コピー先X座標, コピー先Y座標, コピー元X座標, コピー元Y座標, コピー先幅, ←ここと コピー先高さ,←ここで指定できます。 コピー元幅, コピー元高さ) 重さも可変されているのですか? 重さと言うのは... 画像データサイズの事でしたら、当然に小さくなります。 表示時にサーバに負担をかけないようにするには、アップロード時に元サイズとリサイズデータをサーバに保存しているのですか?表示する時にimage関数でリサイズしていてはやはり負担がかかってしまうんですか? ・表示する不特定多数の方のアクセス回数>画像アップロード回数 当然に上の式が成り立ちますので、アップロード時にリサイズした 方が、一回ですみますね。 サーバの容量が少ないのであれば別ですが。
- umota
- ベストアンサー率46% (150/324)
私はイメージ関数でサムネイル(縮小)を作製しています。 関数は phpマニュアルを参照してください。 スクリプトは http://www.ysd.bne.jp/linux/album/script6.html#imageadd が参考になると思います。
- yossy-55
- ベストアンサー率55% (5/9)
参考までですが、私の場合は、GDを使ってリサイズしています。 私の場合は画像アップロード後、元のサイズとリサイズ後のサイズと複数保存して、表示時に出来るだけサーバに負担を掛けないようにしています
補足
ご回答ありがとうございます。わからないことばかりですみません。image関数でリサイズできることまでわかりました。image関数を使用したことがないのでイメージがわかないのですが、リサイズというのはwidthとheightという意味ですか?重さも可変されているのですか?表示時にサーバに負担をかけないようにするには、アップロード時に元サイズとリサイズデータをサーバに保存しているのですか?表示する時にimage関数でリサイズしていてはやはり負担がかかってしまうんですか?表示したいのは携帯サイトなんです。
補足
ご回答、ありがとうございます。参考にさせていただきます。 その他色々image関数を調べてみました。image関数は使用したことがないのでこんなご質問でお恥ずかしいのですが、ImageCopyResampled、ImageCopyResizedなどimage関数にはいろいろありますが、サイズを変更した場合widthとheightパーセントの変更ができることはわかったのですが重さ(サイズ)も一緒に変更されているのですか?また、デジカメで撮った大きなサイズも携帯サイズに表示できるようにはなるみたいですが、その場合どんなサイズでも可能なんですか?いまいち理解ができず、困っています。