ホームページ  >  記事  >  バックエンド開発  >  php生成サムネイルのパフォーマンス

php生成サムネイルのパフォーマンス

WBOY
WBOYオリジナル
2016-06-13 12:07:12713ブラウズ

PHPサムネイル生成機能
お客様がアップロードする写真のサイズが規格外で、アップロードする写真のサイズを一律150X113にしたいとのこと。インターネット上にあるプログラムは IE では正常に動作しますが、他のブラウザ (Sogou ブラウザなど) では動作しません。その理由は何ですか? (常に実行されない感じです)
コードは以下の通りです:

session_start();
if (isset($_SESSION['adminname']) && isset($_SESSION ['adminpass'])){


//************************* ******** *********
//サムネイルを生成========================== ======== =======
$myname=date("YmdHis");

$filename="product/min/".$myname;画像ファイル名
$resizewidth =150; // 生成される画像の幅
$resizeheight=113; // 生成される画像の高さ


function ResizeImage($im, $maxwidth,$maxheight,$name){
$resizewidth = $resizeheight = false;

$width = imagex($im)
$height = imagey($im); > if(($maxwidth && $width > $ maxwidth) || ($maxheight && $height > $maxheight)){
if($maxwidth && $width > $maxwidth){
$widthratio = $maxwidth/$width;
$resizewidth =true;
}
if($maxheight && $height > $maxheight){
$heightratio = $maxheight/$height; $resizeheight=true;
}
if($resizewidth && $resizeheight){
if($widthratio
}else{
$ratio = $heightratio;
}
}elseif($resizewidth){
$ratio = $widthratio;
}elseif($resizeheight){
$ratio = $heightratio;
}
$newwidth = $width * $ratio;
$newheight = $height * $ratio;
if(function_exists("imagecopyresampled")){
$newim = imagecreatetruecolor($) newwidth, $newheight);
imagecopyresampled($ newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}else{
$newim = imagecreate($newwidth, $newheight);
imagecopyresize($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
ImageJpeg ( $newim,$name .jpg");
ImageDestroy ($newim)
}else{
ImageJpeg ($im,$name . ".jpg"); > }



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); // 小さな画像を生成します
ImageDestroy ($im);

echo "アップロードに成功しました。画像ファイル名は次のとおりです: ";
echo $myname.".jpg";
}
}

//********************************** *******
}else{
echo "<script> window.location='login.php'</script>";
}
?>















-----ソリューションのアイデア-------- ------ --
product/min/ ディレクトリに生成された画像があるかどうかを確認します
------解決策のアイデア--------- ----- --------
ie、Firefox、または chrome で試してください。これらの 3 行は、コードに問題がないことを示しています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。