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);
}
//************************************* **
?>