ホームページ >バックエンド開発 >PHPチュートリアル >PHP は画像をアップロードし、指定されたサイズの画像を比例で生成します_PHP チュートリアル
phpは画像をアップロードし、指定されたサイズの画像を比例して生成します これは、アップロードされた新しい画像を $srcfile に渡し、$thumbwidth を押して画像の幅を最大サイズまで縮小し、$thumbheitht を押して画像の高さを最大サイズまで縮小して、小さな画像を生成します。
phpチュートリアル画像をアップロードし、比率に従って指定されたサイズの画像を生成します
これは、アップロードされた新しい画像を $srcfile に渡し、$thumbwidth を押して画像の幅を最大サイズまで縮小し、$thumbheitht を押して画像の高さを最大サイズまで縮小して、小さな画像を生成します。
画像サムネイル機能
パラメータの説明:
$srcfile 元の画像アドレス
$dir 新しい画像ディレクトリ
$thumbwidth は画像の最大幅を減らします
$thumbheitht 画像の高さの最大サイズを小さくします
$ratio のデフォルトは比例スケーリングの 1 です。これは、固定サイズに縮小されることを意味します。
*/
関数 makethumb($srcfile,$dir,$thumbwidth,$thumbheight,$ratio=0)
{
// ファイルが存在するかどうかを確認します
if (!file_exists($srcfile))return false;
//同じ名前で別のディレクトリに新しいファイルを生成します
$imgname=explode('/',$srcfile); $arrcount=カウント($imgname); $dstfile = $dir.$imgname[$arrcount-1]; //サムネイルのサイズ
$tow = $thumbwidth
$toh = $親指の高さ
; if($tow $im =''; If($data = getimagesize($srcfile)) {
if($data[2] == 1) {
$make_max = 0;//gif は処理されません
If(function_exists("imagecreatefromgif")) {
$im = imagecreatefromgif($srcfile); } elseif($data[2] == 2) {
If(function_exists("imagecreatefromjpeg")) {
$im = imagecreatefromjpeg($srcfile); } elseif($data[2] == 3) {
If(function_exists("imagecreatefrompng")) {
$im = imagecreatefrompng($srcfile); }
}
If(!$im) を返す ''; $srcw = 画像x($im); $srch = 画像 ($im); $トウ = $トウ/$トウ
; $srcwh = $srcw/$srch
If($towh $ftow = $tow; $ftoh = $ftow*($srch/$srcw); } その他 {
$ftoh = $toh; $ftow = $ftoh*($srcw/$srch); }
If($ratio){
$ftow = $tow; $ftoh = $toh; }
//画像を縮小します
If($srcw > $tow || $srch > $toh || $ratio) {
If(function_exists("imagecreatetruecolor") && function_exists("imagecopyresampled") && @$ni = imagecreatetruecolor($ftow, $ftoh)) {
imagecopyresampled($ni, $im, 0, 0, 0, 0, $ftow, $ftoh, $srcw, $srch); elseif(function_exists("imagecreate") && function_exists("imagecopyresize") && @$ni = imagecreate($ftow, $ftoh)) {
Imagecopyresize($ni, $im, 0, 0, 0, 0, $ftow, $ftoh, $srcw, $srch); } else {
戻ります ''; }
If(function_exists('imagejpeg')) {
imagejpeg($ni, $dstfile); } elseif(function_exists('imagepng')) {
imagepng($ni, $dstfile); }
}その他{
// サイズより小さい場合は直接コピーします
コピー($srcfile,$dstfile); }
イメージデストロイ($im)
If(!file_exists($dstfile)) {
戻る ''; } その他 {
$dstfile を返す
}
}
?>