サムネイル画像をどのように 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 ) " ) ;

どのように動作する

createThumbs 4つの関数の引数をとります。

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

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

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

それはどのように機能JPEG画像のための作品だ。 そこに最小限の違いがある。 pngsと。 GIFを。