how to make thumbnails with php

前端 未结 8 670
情话喂你
情话喂你 2020-12-11 10:55

I was just wondering how I can make thumbnails of images stored in hdd and use them in an html page, also I need the thumbnails to be able to enlarge (to their original size

相关标签:
8条回答
  • 2020-12-11 11:06

    its so simple,if you have any queries mail at karthid@in.com

    $ffmpeg = "ffmpeg Installed path"
    
    $flvfile = "source video file with root path"
    
    $png_path " "Destination video file with root path and file type"
    
    exec("$ffmpeg -y -i $flvfile -vframes 1 -ss 00:01:60 -an -vcodec png -f rawvideo -s 110x90 $png_path");
    

    all the best....

    0 讨论(0)
  • 2020-12-11 11:09

    maxImageUpload is useful for creating thumbnails, normal image with an original image.

    You can use jQuery to enlarge the thumbnail image.

    0 讨论(0)
  • 2020-12-11 11:19

    the best way I found is to use the phpThumb class (http://phpthumb.sourceforge.net/).

    It has everything you need and more, including caching, filters, watermarks and other cool stuff. Just look at the demo page.

    0 讨论(0)
  • 2020-12-11 11:22

    Lookup the PECL extension Imagick. It's usually installable with standard package-managers.

    http://se2.php.net/Imagick

    You can either dynamically create the thumbnails and serve them using .php files (slow) or make a thumbnail-copy that you store on the server (prefered)

    0 讨论(0)
  • 2020-12-11 11:25

    You can use the GD library in PHP to load and resize your images to generate the thumbnails

    http://us.php.net/manual/en/image.examples.php

    0 讨论(0)
  • 2020-12-11 11:30

    You will need the GD extension enabled. The following code will create a thumbnail file in a subdirectory called ~tmb for a JPEG, PNG and GIF file:

    $invalid = true;
    if ($file != '.' and $file != '..') {
        if (filetype($path_abs.$file) == "file") {
            $ext = strtolower(substr($file,strrpos($file,'.')+1));
            if ($ext == 'jpg' || $ext == 'jpeg') {
                $origimg = @imagecreatefromjpeg($path_abs.$file);
            } elseif ($ext == 'png') {
                $origimg = @imagecreatefrompng($path_abs.$file);
            } elseif ($ext == 'gif') {
                $origimg = @imagecreatefromgif($path_abs.$file);
            }
            if ($origimg !== false) {
                $nheight = 0;
                $nwidth = 0;
                $use_orig = false;
                if ($width<=160 and $height<160) {
                    $nwidth = $width;
                    $nheight = $height;
                    $use_orig = true;
                    $invalid = false;
                } else {
                    if ($width>$height and $width>0) {
                        $nheight = intval((160 / $width) * $height);
                        $nwidth = 160;
                    } elseif ($height>0) {
                        $nwidth = intval((160 / $height) * $width);
                        $nheight = 160;
                    } else {
                        $image = false;
                    }
                    if ($nheight > 0 and $nwidth > 0) {
                        $newimg = imagecreatetruecolor($nwidth, $nheight);
                        $bgc = imagecolorallocate ($newimg, 238, 238, 238);
                        imagefilledrectangle ($newimg, 0, 0, $nwidth, $nheight, $bgc);
                        if (@imagecopyresampled($newimg, $origimg, 0, 0, 0, 0, $nwidth, $nheight, $width, $height)) {
                            $image = imagejpeg($newimg, $path_abs.'~tmb/'.$file);
                            $invalid = false;
                        } elseif (@imagecopyresized($newimg, $origimg, 0, 0, 0, 0, $nwidth, $nheight, $width, $height)) {
                            $image = imagejpeg($newimg, $path_abs.'~tmb/'.$file);
                            $invalid = false;
                        }
                    }
                }
            }
        }
    }
    if (!$invalid) {
        if ($use_orig) {
            echo '<img src="'.$file.'" alt="" />';
        } else {
            echo '<img src="~tmb/'.$file.'" alt="" />';
        }
    } else {
        echo '<p>Error for file '.$file.'</p>';
    }
    

    In the above code, it resizes them to 160x160, though maintaining aspect ratio.

    0 讨论(0)
提交回复
热议问题