Есть php скрипт , который ресайзит изображения (ресайзит в зависимости от того что больше высота или ширина) , также нужно чтоб этот скрипт в зависимости от того что больше высота или ширина сохранял картинки в нужные папки.
С первым пунктом все нормально когда выполняется условие скрипт увеличивает высоту или ширину. А вот когда нужно сохранить в разные папки проблема. Например нужно когда высота больше сохранить в папку "height" или когда ширина больше то нужно сохранить в папку width.
А сейчас работает так, что 80 % процентов фотографий сохраняються правильно а остальные 20 попадают не в свою категорию: например если ширина больше то попадают в папку width. тоже самое и для высоты...
Вот часть кода отвечающая за условие:
if($iWidth < $iHeight ){;resizeImage($imagePath,$destPath = $DestImagesDirectory_2.$file, $NewImageWidth, $NewImageHeight = 500,$Quality = 90); ;}
if($iWidth > $iHeight ){;resizeImage($imagePath,$destPath = $DestImagesDirectory.$file, $NewImageWidth = 500,$NewImageHeight,$Quality = 90); ;}
Вот ниже весь код :
<?php
//Maximize script execution time
ini_set('max_execution_time', 0);
//Initial settings, Just specify Source and Destination Image folder.
$ImagesDirectory = 'C:\Users\Sun\Desktop\origin-picture-logo/';//Source Image Directory End with Slash
$DestImagesDirectory = 'D:\width/'; //Destination Image Directory End with Slash
$DestImagesDirectory_2 = 'D:\height/';
$NewImageWidth ; //New Width of Image
$NewImageHeight ; // New Height of Image
$Quality ; //Image Quality
//Function that resizes image.
function resizeImage($SrcImage,$DestImage, $MaxWidth = 20,$MaxHeight = 29,$Quality = 90 )
{
global $iWidth;
global $iHeight;
global $img;
list($iWidth,$iHeight,$type) = getimagesize($SrcImage);
$ImageScale = min($MaxWidth/$iWidth, $MaxHeight/$iHeight);
$NewWidth = ceil($ImageScale*$iWidth);
$NewHeight = ceil($ImageScale*$iHeight);
$NewCanves = imagecreatetruecolor($NewWidth, $NewHeight);
switch(strtolower(image_type_to_mime_type($type)))
{
case 'image/jpeg':
$NewImage = imagecreatefromjpeg($SrcImage);
break;
case 'image/png':
$NewImage = imagecreatefrompng($SrcImage);
break;
case 'image/gif':
$NewImage = imagecreatefromgif($SrcImage);
break;
default:
return false;
}
// Resize Image
if(imagecopyresampled($NewCanves, $NewImage,0, 0, 0, 0, $NewWidth, $NewHeight, $iWidth, $iHeight))
{
// echo $iWidth;
$stndartwidth = $iWidth;
// copy file
if(imagejpeg($NewCanves,$DestImage,$Quality)){
imagedestroy($NewCanves);
return true;
}
}
}
//Open Source Image directory, loop through each Image and resize it.
if($dir = opendir($ImagesDirectory)){
while(($file = readdir($dir))!== false){
$imagePath = $ImagesDirectory.$file;
global $destPath;
$checkValidImage = @getimagesize($imagePath);
if(file_exists($imagePath) && $checkValidImage) //Continue only if 2 given parameters are true
{
//Image looks valid, resize.
if($iWidth < $iHeight ){;resizeImage($imagePath,$destPath = $DestImagesDirectory_2.$file, $NewImageWidth, $NewImageHeight = 500,$Quality = 90); ;} //
if($iWidth > $iHeight ){;resizeImage($imagePath,$destPath = $DestImagesDirectory.$file, $NewImageWidth = 500,$NewImageHeight,$Quality = 90); ;} //
if(resizeImage($imagePath,$destPath,$NewImageWidth,$NewImageHeight,$Quality))
{
echo $file.' resize Success!<br />';
/*
Now Image is resized, may be save information in database?
*/
}else{
echo $file.' resize Failed!<br />';
}
}
}
// echo $imagePath;
closedir($dir);
}
?>