بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

دلیل کار نکردن imagecreatefromjpeg ?

MatTo  2 هفته پیش  2 هفته پیش
0 0

با سلام.

در قسمت آپلود عکس، فانکشن

imagecreatefrompng

کارکرد صحیحی دارد ولی فانکشن

imagecreatefromjpeg

به نظر شما مشکل از کجاست؟

با تشکر فراوان

 
 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
MatTo  2 هفته پیش
+1 0

 پاسخ صحیح
function saveImage($keyword,$usedPath,$Id,$newWidth,$newHeight){
$file=$_FILES[$keyword]['tmp_name']; // a address of first location for file after upload
$ext=fetchImgExt($keyword);
$originalPath = getcwd() . "/" . $usedPath . "/original/" . $Id . $ext;
copy($file, $originalPath);

if($ext=='.jpeg'){$ext='.jpg';}
$thumbPath = getcwd() . "/" . $usedPath . "/" . $Id . $ext;

resizeImage($originalPath,$newWidth,$newHeight,$thumbPath);
}





function fetchImgExt($imgPostKey) {
$ext = $_FILES[$imgPostKey]['type']; // extension of file. example : image/png image/jpg ...
$ext = str_replace('image/', '.', $ext);
return $ext;
}





function resizeImage($sourcePath,$newWidth,$newHeight=null,$destination) {

$parts = explode(".", $sourcePath);
$ext = $parts[count($parts) - 1];

if ($ext == 'png') {
$sourceImage = imagecreatefrompng($sourcePath);
}

if ($ext == 'jpeg') {
$sourceImage = imagecreatefromjpeg($sourcePath);
}

list($srcWidth, $srcHeight) = getimagesize($sourcePath);
$ratio = getImageRatio($sourcePath);

if ($newWidth == 0) {
$newWidth = $newHeight / $ratio;
}

if ($newHeight == 0) {
$newHeight = $newWidth * $ratio;
}

$destinationImage = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($destinationImage, $sourceImage, 0, 0, 0, 0, $newWidth, $newHeight, $srcWidth, $srcHeight);


if ($destination == null) {
header("Content-Type: image/jpeg");

if ($ext == 'png') {
imagepng($destinationImage, null, 9);
}

if ($ext == 'jpeg') {
imagejpeg($destinationImage, null, 100);
}


} else {
if ($ext == 'png') {
imagepng($destinationImage, $destination,9);
}

if ($ext == 'jpeg') {
imagejpeg($destinationImage, $destination,100);
}

}

}





function getImageRatio($sourcePath){
list($width,$height)=getimagesize($sourcePath);
$imageRatio=$height/$width;
return $imageRatio;
}

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .