ホームページ  >  記事  >  バックエンド開発  >  PHP はサムネイルを生成する機能に優れていますが、関連する問題がいくつか発生しました。

PHP はサムネイルを生成する機能に優れていますが、関連する問題がいくつか発生しました。

WBOY
WBOYオリジナル
2016-06-13 13:34:35926ブラウズ

PHP ではサムネイルを生成することができます。いくつか問題が発生しました。
画像をアップロードしてサムネイルを生成する機能を実装したいと思います。インターネットから見つけた壊れたコードです。
一度に 2 つの画像 (大きいサムネイルと小さいサムネイル) を生成したいと思います。結果は次のコードになります:

注意: 未定義の変数: RESIZEWIDTH in D:WWWqiangyuanup.php の 17 行目
注意: 未定義変数: D:WWWqiangyuanup.php の 23 行目の RESIZEWIDTH



ソース コードは次のとおりです:

// *******************************************
//サムネイルを生成 = = ======================================

function ResizeImage($im , $maxwidth,$maxheight,$name){
$width = imagex($im);
$height = imagey($im);
if(($maxwidth && $width > $maxwidth ) || ($maxheight && $height > $maxheight)){
if($maxwidth && $width > $maxwidth){
$widthratio = $maxwidth/$width= true ;
}
if($maxheight && $height > $maxheight){
$heightratio = $maxheight/$height;
$RESIZEHEIGHT=true; ( $RESIZEWIDTH && $RESIZEHEIGHT){
if($widthratio < $heightratio){
$ratio = $widthratio;
}else{
$ratio = $heightratio; 🎜 > }elseif($RESIZEWIDTH){
$ratio = $widthratio;
}elseif($RESIZEHEIGHT){
$ratio = $heightratio; }
$newwidth = $width * $ 比率;
$newheight = $height * $ratio;
if(function_exists("imagecopyresampled")){
$newim = imagecreatetruecolor($newwidth, $newheight); , $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}else{
$newim = imagecreate($newwidth, $newheight); ( $newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}
ImageJpeg ($newim,$name . ".jpg"); 🎜 > ImageDestroy ($newim);
}else{
ImageJpeg ($im,$name . ".jpg");
}
}

$FILENAME="product / min/".date("YmdHis"); //小さい画像のファイル名
$RESIZEWIDTH=150; //生成される画像の幅
$RESIZEHEIGHT=113; //生成される画像の高さ



if(isset($_FILES['image']['size'])){
if($_FILES['image']['type'] == "image/pjpeg" ){
$im = imagecreatefromjpeg($_FILES['image']['tmp_name']);
}elseif($_FILES['image']['type'] == " image/x-png "){
$im = imagecreatefrompng($_FILES['image']['tmp_name']);
}elseif($_FILES['image']['type'] == "image/gif" ){
$im = imagecreatefromgif($_FILES['image']['tmp_name'])
}


if($im){
if(file_exists( "$FILENAME.jpg")){
unlink("$FILENAME.jpg")
}

ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME) ); //小さい画像を生成します
ResizeImage($im,600,450,"product/max/".date("YmdHis")); //大きい画像を生成します
ImageDestroy ($im);
}

//************************************* **
?>


<スタイル タイプ="text/css ">