サムネイル画像をどのように PHPを使用する

機能では、 ShortLikeAFoxし、 PHPが2008年7月22日投稿

ので、指定したイメージからサムネイルを作成する... PHPは、このタスクを簡単にするします。 私は最初の画像をユーザーが私の管理の仕方をサイトでアップロードに対応するため、以下の機能を書いている。 このサイトにアップロードされた画像はJPEG 、 pngs 、またはGIFをので、私のすべてに対処するための3つの関数を書くことができます。 このコードは、もともとは機能に基づいているwebcheatsheet.comで発見

どのようにそれを行うには:

機能 createThumbs ( $ pathToImages 、 $ fname 、 $ pathToThumbs 、 $ thumbWidth )

/拡張子/パースパス

$インフォ= pathinfo ( $ pathToImages 。 $ fname ) ;
/ /継続する場合にのみ、これはJPEG画像です
($info['extension']) == ‘jpeg’) ) ( ( strtolower ( $場合インフォメーション[ '拡張子' ] ) == ' ' JPG )を| | ( strtolower ( $情報[ '拡張子' ] ) == ' ' JPEG準拠) )

/ /読み込み画像や画像のサイズを取得
$イメージ= ( " ( $ pathToImages ) ( $ fname" ) imagecreatefromjpeg ;
$幅= imagesx ( $イメージ) ;
ドル高さ= imagesy ( $イメージ) ;

/ /サムネイルのサイズを計算する
$ new_width = $ thumbWidth ;
$ new_height = ( $高さ* ( $ thumbWidth / $幅) ) ;

/ /新しい一時的なイメージを作成
$ tmp_img = imagecreatetruecolor ( $ new_width 、 $ new_height ) ;

/ /コピーし、古いイメージのサイズを変更し、新しいイメージに
imagecopyresized ( $ tmp_img 、 $イメージ、 0 、 0 、 0 、 0 、 $ new_width 、 $ new_height 、 $幅、 $高さ) ;

/ /サムネイルをファイルに保存する
imagejpeg ( $ tmp_img 、 " ( $ pathToThumbs ) ( $ fname ) " ) ;

strtolower ( $場合インフォメーション[ '拡張子' ] ) == 'のGIF ' )

/ /読み込み画像や画像のサイズを取得
$イメージ= imagecreatefromgif ( " ( $ pathToImages ) ( $ fname ) " ) ;
$幅= imagesx ( $イメージ) ;
ドル高さ= imagesy ( $イメージ) ;

/ /サムネイルのサイズを計算する
$ new_width = $ thumbWidth ;
$ new_height = ( $高さ* ( $ thumbWidth / $幅) ) ;

/ /新しい一時的なイメージを作成
$ tmp_img = imagecreatetruecolor ( $ new_width 、 $ new_height ) ;

/ /コピーし、古いイメージのサイズを変更し、新しいイメージに
imagecopyresized ( $ tmp_img 、 $イメージ、 0 、 0 、 0 、 0 、 $ new_width 、 $ new_height 、 $幅、 $高さ) ;

/ /サムネイルをファイルに保存する
imagegif ( $ tmp_img 、 " ( $ pathToThumbs ) ( $ fname ) " ) ;

strtolower ( $場合インフォメーション[ '拡張子' ] ) == ' PNG形式' )

/ /読み込み画像や画像のサイズを取得
$イメージ= ( " ( $ pathToImages ) ( $ fname ) " ) imagecreatefrompng ;
$幅= imagesx ( $イメージ) ;
ドル高さ= imagesy ( $イメージ) ;

/ /サムネイルのサイズを計算する
$ new_width = $ thumbWidth ;
$ new_height = ( $高さ* ( $ thumbWidth / $幅) ) ;

/ /新しい一時的なイメージを作成
$ tmp_img = imagecreatetruecolor ( $ new_width 、 $ new_height ) ;

/ /コピーし、古いイメージのサイズを変更し、新しいイメージに
imagecopyresized ( $ tmp_img 、 $イメージ、 0 、 0 、 0 、 0 、 $ new_width 、 $ new_height 、 $幅、 $高さ) ;

/ /サムネイルをファイルに保存する
imagepng ( $ tmp_img 、 " ( $ pathToThumbs ) ( $ fname ) " ) ;

どのようにこの作品

この関数は4つの引数をcreateThumbsかかります。

  • $ pathToImages - >イメージファイルは、この: /ホーム/コンテンツ/ユーザ名/ HTML形式/リスト/ インチアップロードのように見えるかもしれませんがされているフォルダへのパス/
  • $ fname - >ファイル名: pic1.gif 、 johnny.jpg 、モニュメント等...
  • $ pathToThumbs - >を使用するインチをしないでサムネイル画像を目的のフォルダへのパス同じパスとして$ pathToImagesであることをしたいので、サムネイル画像を元の画像と同じ名前があります。
  • $ thumbWidth - >の幅をピクセル単位でされるサムネイルします。

重要なことに注意して作成してください私はここでは、この機能は、ファイル拡張子のチェックよりも、何も悪意のある画像ファイルが含まれていることを確認し、他の場所には何もしている。 createThumbs以降のファイル( )が既にそのファイルが正しくアップロードされて精査されていると想定されているで動作します。

まず最初にcreateThumbs ( )がコールpathinfo ( )です。 pathinfo ( )は配列には、パスの部分を破壊。 私たちが正常にサムネイルを作成するには、ファイルの拡張子が必要に私たちには、便利です。 もし我々は、 JPEGに対応している次のcreateThumbs ( )かどうかを確認してください。 場合は、元のファイルは、 JPEG createThumbsされ、新しいイメージを、元の画像をimagecreatefromjpeg を基に作成されます( ) 次のステップは、このイメージの幅と高さを得ることです( imagesx ( )imagesy ( ) ) createThumbsして元の幅と高さの比率thumbWidth $ ( )の使用は、新しい幅と高さのサムネイルを設定します。 これらの新しい比率createThumbs ( )の使用は、同じ幅とimagecreatetruecolor ( ) 。 imagecopyresized ( )は、画像のサイズを変更するに保存使用されているとのサムネイル の高さなる " "空のイメージを作成する" "空白で作成します。 imagecopyresized ( )はそのように思えるかもしれないが、パラメータの多くがかかっていない場合は、実際には、複雑にされているマニュアルをご覧ください。 今では真のカラー画像のサムネイルcreateThumbsとして存在するすべてのニーズは、 JPEGファイルに変換されています。 imagejpegこの操作行うには( )と呼ばれています。

それはどのように機能はJPEGの作品だ。 そこに最小限の違いがあります。 pngsと。 GIFを。