Best PHP Image Crop Class

2020-05-13 20:40发布

I'm designing a website and I need to:

  • Upload the image
  • Validate that it's an image (and not, oh I don't know.... a virus :) )
  • Resize the Image
  • convert to jpg

Essentially basic image upload

Instead of writing my own I'm trying to find a php class that let's me do all this, because as Jeff Atwood said, "never design what you can steal"

Now before you go ahead and downvote because I didn't do my research, I did:

Googling this brings up a huge amount of results, which is the problem, I don't know which results are useful and which are trash!

So far, Ive found:

Does anyone have any experience with these classes? Can you recommend an outstanding image upload class?

9条回答
兄弟一词,经得起流年.
2楼-- · 2020-05-13 20:44

there's also this lightweight image manipulation library written in PHP called Zebra_Image that's very small, not bloated with zillion of functions you'll never use, highly optimized, with a great documentation and which is actively maintained.

查看更多
三岁会撩人
3楼-- · 2020-05-13 20:47

Check out JCROP Plugin

This will be uselful for all

JCROP Image cropping----deepliquid.com/content/Jcrop.html

enter image description here

查看更多
beautiful°
4楼-- · 2020-05-13 20:48

My personal favorite Image Manipulation Library is WideImage. It makes is ridiculously easy to do that kind of task.

WideImage::load('pic.png')
->crop('center', 'center', 90, 50)->saveToFile('cropped/pic.jpg');

As for validating if it is actually an image or not, use finfo or PEAR::Mime_type. I personally prefer PEAR::Mime_Type. It uses finfo but it's just simpler to use.

Using finfo:

$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $filename);

$isImage = (preg_match('#^image/#', $mimetype) === 1);

Using PEAR::Mime_Type:

$mimetype = MIME_Type::autoDetect($filename);

$isImage = MIME_Type::wildcardMatch('image/*', $mimetype);
查看更多
兄弟一词,经得起流年.
5楼-- · 2020-05-13 20:52

If you're willing to migrate into an MVC PHP framework, I strongly recommend Codeigniter.

Besides several other classes and libraries that handle pagination, tables, security, forms, etc CI also has nice upload and image manipulation classes that are very handy and flexible. I believe they can do all you require (just not sure about jpg conversion).

You can check them out at:

Image manipulation class

File uploading class

查看更多
【Aperson】
6楼-- · 2020-05-13 20:54

The class upload from Colin Verot http://www.verot.net/php_class_upload.htm is my favourite. I use in in all my projects. Like the way you 'talk' to the class and only use what your need, but gives plenty of configuration/methods to tweak it to your exact needs. Great class!

查看更多
Fickle 薄情
7楼-- · 2020-05-13 20:55

I am using this Image crop, it working well

Simple PHP Image cCrop

查看更多
登录 后发表回答