Search code examples
phpimage-resizing

How to display dynamically loaded images with different sizes?


How to display dynamically loaded images if more than 1 has different styles or sizes?

My code:

if ($imgcount == 3) {
    <div class="style_imgsize">
        $dir_path = $photo['file_path']; 
        $size = getimagesize($dir_path);
    echo imagesize($size['0'],$size['1'],  $dir_path);
}

function imagesize($width, $height,  $src){
    switch ($width & $height & $src) { 
    case "300" > "$width":
        echo '<img src="'.$src.'"; width="100" height="100" />'; 
        break;
    case "300"<"$height":
        echo '<img src="'.$src.'" width="220" height="250" />';
        break;
    case "$height" > "$width":
        echo '<img src="'.$src.'"  height="100%" />'; 
        break;
    default:
        echo "something";
    }
}

Example with 3 images with different width, height and styles:

enter image description here

Image 2:

enter image description here

I am getting sizes and width but I need to get every image separate. How to split $imagecount?


Solution

  • You can resize it like below:

    if (!empty($width) && !empty($height) && !empty($src)) {
        if ($width < 300) {
            echo '<img src="'.$src.'"; width="100" height="100" />';
        } else if ($height < 300) {
            echo '<img src="'.$src.'" width="220" height="250" />';
        } else if ($height > $width) {
            echo '<img src="'.$src.'"  height="100%" />';
        }
    }
    

    Hope this helps.