【发布时间】:2014-02-10 23:36:49
【问题描述】:
我正在为最新版本的 CakePHP 寻找一个愚蠢而灵活的图像上传和调整大小插件
- 根据 MimeType 上传图片
- 检查宽度和高度的最小值/最大值
- 能够调整图像的大小和裁剪中心,以便在裁剪时提供最大的图像可见度
- 重命名文件名
- 根据模型和关系指定自定义文件夹。
【问题讨论】:
-
搜索了很多次
标签: cakephp image-uploading cakephp-2.4
我正在为最新版本的 CakePHP 寻找一个愚蠢而灵活的图像上传和调整大小插件
【问题讨论】:
标签: cakephp image-uploading cakephp-2.4
https://github.com/burzum/FileStorage
阅读 readme.md,它可以做任何你想做的事, 5. 将要求你添加自己的事件侦听器以允许自定义文件夹超出约定(不推荐任何方式)。开发分支也有一些更多更好的结构化文档。 This page is about the image processing part of it。它还带有单元测试,并通过2.0 up to 2.5(目前即将发布的版本)进行测试。
UploadValidationBehavior 将负责您想要的验证。在验证图像大小的情况下,ImageStorage 模型实现了一个方法。
【讨论】:
您好,您可以使用:Intervention Image
安装:
php composer.phar require intervention/image
代码:
use Intervention\Image\ImageManager;
$img = Image::make('public/foo.jpg');
$img->crop(100, 100, 25, 25);
【讨论】:
function upload_image($data, $id) {
$data['photo'] = $data['image_path'];
unset($data['image_path']);
$upData = array();
if ($this->fnIsNotNull($data['photo']) && $data['photo']['error'] == 0) {
$allowedExts = array("gif", "jpeg", "jpg", "png");
$optionsUpload = array('org' => true, "thumbs" => array("width" => 270, "height" => 180));
$fileUploaded = fileUpload($data['photo'], $data['id'] . "_category", CATEGORY_IMG_DIR, $allowedExts, $optionsUpload);
if (isset($fileUploaded['success']) && fnIsNotNull($fileUploaded['success'])) {
$upData = $fileUploaded['success'][0]['filename'];
}
}
if (isset($id) && count($upData)) {
$oldData = $this->get($id);
$remvoeImg = $oldData->photo;
$oldData->photo = $upData;
$res = $this->save($oldData);
if ($res && !empty($upData) && !empty($remvoeImg)) {
@unlink(CATEGORY_IMG_DIR . $remvoeImg);
@unlink(CATEGORY_IMG_DIR . "thumbs/" . $remvoeImg);
}
return $res;
}
return false;
}
【讨论】: