最佳PHP图像裁剪类

21

我正在设计一个网站,我需要做以下几个事情:

  • 上传图片
  • 验证它是一张图片(而不是病毒)
  • 调整图片大小
  • 转换为jpg格式

基本上就是图片上传功能

我不想自己写代码,所以我在尝试找一个PHP类库,可以帮助我完成所有这些操作,因为正如Jeff Atwood所说的那样,"永远不要重复造轮子"

到目前为止,我已经找到了:

有人对这些类有任何经验吗?你能推荐一个出色的图片上传类吗?

9个回答

17

我个人最喜欢的图像处理库是WideImage。它使这种任务变得非常简单。

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

要验证一个文件是否为图片,可以使用finfoPEAR::Mime_type。我个人更喜欢PEAR::Mime_Type。它使用了finfo,但更加简单易用。

使用 finfo

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

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

使用 PEAR::Mime_Type

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

$isImage = MIME_Type::wildcardMatch('image/*', $mimetype);

2
这是一个很棒的答案。我真的很喜欢你的解决方案,因为它简单易用且非常好。 ;) - Dzung Nguyen

13

5

2
对于一个非常棒和流畅的插件,点个赞!对于那些想用PHP实现这个插件的人,下载包中已经有一个examples文件夹里面提供了实现方法。 - Mohd Abdul Mujib
1
易于理解和安装。我已在2个或更多的Web应用程序中实现了这个。 - Nikz

4

Colin Verot的上传类http://www.verot.net/php_class_upload.htm是我最喜欢的。我在所有项目中都使用它。我喜欢你与类“交流”的方式,只使用你需要的内容,但提供了丰富的配置/方法来调整它以满足您的确切需求。这是一种很棒的类!


4

还有一个用PHP编写的轻量级图像处理库Zebra_Image,它非常小巧,没有无用的函数,高度优化,具有极好的文档,并且在积极维护。


2
我推荐使用SimpleImage,它非常简单,只有一个文件,而且更新频繁。
使用示例:
$img = new SimpleImage('image.jpg');

// Resize the image to 320x200
$img->resize(320, 200);

$img->save('new-image.jpg');

2

2
只是提醒一下,这将需要支持imageconvolution()函数的GD版本。 - Fluffeh

1

如果你想迁移到MVC PHP框架,我强烈推荐Codeigniter

除了处理分页、表格、安全性、表单等多个类和库之外,CI还有很好用和灵活的上传和图像处理类。我相信它们可以满足你的所有需求(只是不确定是否支持jpg转换)。

你可以在以下链接中查看:

图像处理类

文件上传类


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接