我正在设计一个网站,我需要:
基本上是基本的图片上传
而不是写我自己的,我试图找到一个 php 类让我做这一切,因为正如Jeff Atwood所说,"never design what you can steal"
现在,在你继续前进并投票,因为我没有做我的研究,我做了:
谷歌搜索会带来大量的结果,这就是问题,我不知道哪些结果有用,哪些是垃圾!
到目前为止,我发现:
有没有人对这些课程有任何经验?你能推荐一个优秀的图片上传课程吗?
答案 0 :(得分:17)
我个人最喜欢的图片处理库是WideImage
。这样做是非常容易的。
WideImage::load('pic.png')
->crop('center', 'center', 90, 50)->saveToFile('cropped/pic.jpg');
至于验证它是否实际上是图像,请使用finfo
或PEAR::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);
答案 1 :(得分:13)
我倾向于使用一个或另一个描述的框架,其中包括文件上传部分。但是,确实有裁剪位的建议:
想象一下 - https://github.com/avalanche123/Imagine
如果你想让上传器比输入类型=文件好一点,试试:
答案 2 :(得分:5)
答案 3 :(得分:4)
来自Colin Verot http://www.verot.net/php_class_upload.htm的课程上传是我的最爱。我在所有项目中使用。就像你与班级“谈话”并只使用你需要的方式一样,但提供了大量的配置/方法来根据你的确切需要进行调整。好班!
答案 4 :(得分:4)
还有这个名为 Zebra_Image 的lightweight image manipulation library written in PHP,它非常小,没有臃肿的功能,你永远不会使用,高度优化,有great documentation且积极主动保持。
答案 5 :(得分:2)
我建议使用Smart Image Resizer http://shiftingpixel.com/2008/03/03/smart-image-resizer/
调整大小后,您可以获得最佳图像质量
使用起来非常简单。它使用图像缓存。
答案 6 :(得分:2)
我推荐SimpleImage,它非常简单,只有一个文件并且已更新。
使用示例:
$img = new SimpleImage('image.jpg');
// Resize the image to 320x200
$img->resize(320, 200);
$img->save('new-image.jpg');
答案 7 :(得分:1)
如果您愿意迁移到MVC PHP框架,我强烈推荐Codeigniter。
除了处理分页,表格,安全性,表单等的其他几个类和库之外,CI还具有非常方便和灵活的上传和图像处理类。 我相信他们可以做你所需要的一切(只是不确定jpg转换)。
您可以在以下网址查看:
答案 8 :(得分:0)
我正在使用此图片裁剪,它运作良好