私はウェブサイトをデザインしていますが、次のことを行う必要があります。
基本的に基本的な画像のアップロード
自分で書く代わりに、phpクラスを見つけようとしています。これは、Jeff Atwoodが言ったように、 "盗むことができるものを決して設計しないでください "
私が調査をしなかったので、先に進んで反対票を投じる前に、私はしました:
これをグーグルで検索すると、大量の結果が表示されますこれが問題です。どの結果が有用でどれがゴミかわかりません!
これまでのところ、私は見つけました:
これらのクラスの経験はありますか?優れた画像アップロードクラスをお勧めできますか?
私は、ファイルのアップロード部分をカバーする、ある記述または別の記述のフレームワークを使用する傾向があります。ただし、トリミングビットに関する推奨事項はありますか。
想像してみてください- https://github.com/avalanche123/Imagine
また、アップローダーを単なる入力type = fileよりも少しだけ良くしたい場合は、次のことを試してください。
私の個人的なお気に入りの画像操作ライブラリは WideImage
です。そのようなタスクを実行するのは途方もなく簡単になります。
WideImage::load('pic.png')
->crop('center', 'center', 90, 50)->saveToFile('cropped/pic.jpg');
実際に画像であるかどうかの検証については、 finfo
または PEAR::Mime_type
を使用してください。私は個人的に PEAR::Mime_Type
を好みます。 finfo
を使用しますが、使用する方が簡単です。
finfo
:の使用
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $filename);
$isImage = (preg_match('#^image/#', $mimetype) === 1);
PEAR::Mime_Type
を使用する:
$mimetype = MIME_Type::autoDetect($filename);
$isImage = MIME_Type::wildcardMatch('image/*', $mimetype);
Colin Verotからのクラスのアップロード http://www.verot.net/php_class_upload.htm が私のお気に入りです。私はすべてのプロジェクトで使用しています。クラスに「話しかける」方法と同じように、必要なものだけを使用しますが、正確なニーズに合わせて微調整するための構成/メソッドをたくさん提供します。素晴らしいクラス!
これもあります PHPで書かれた軽量画像操作ライブラリ 呼び出されますZebra_Image非常に小さく、無数の関数で肥大化することはありません 優れたドキュメント で、高度に最適化され、積極的に維持されているものは絶対に使用しないでください。
Smart Image Resizerの使用をお勧めします http://shiftingpixel.com/2008/03/03/smart-image-resizer/
サイズ変更後に最高の画質が得られます
使い方はとても簡単です。画像キャッシュを使用します。
SimpleImage をお勧めします。これは非常にシンプルで、ファイルが1つだけで、更新されます。
使用例:
$img = new SimpleImage('image.jpg');
// Resize the image to 320x200
$img->resize(320, 200);
$img->save('new-image.jpg');
MVC PHPフレームワークに移行する場合は、 Codeigniter を強くお勧めします。
ページネーション、テーブル、セキュリティ、フォームなどを処理する他のいくつかのクラスとライブラリに加えて、CIには非常に便利で柔軟なNiceアップロードクラスと画像操作クラスもあります。私は彼らがあなたが必要とするすべてをすることができると信じています(jpg変換についてはよくわかりません)。
あなたはそれらをチェックアウトすることができます:
この画像の切り抜きを使用していますが、うまく機能していません