el3zahaby/cloudder

Cloudinary API 的 Laravel 包装器

0.7.0.1 2020-05-03 22:52 UTC

README

Build Status License Latest Version Total Downloads

最初是从 https://github.com/jrm2k6/cloudder 分支出来的。

因为它似乎不再被维护,并且从原始维护者那里没有收到回应(已打开问题 + 打开拉取请求,去年八月的最后提交),我决定创建一个新的分支,并计划维护。

如果您有任何功能建议,请随时打开一个问题或给我发电子邮件!

安装

composer require el3zahaby/cloudder

配置

修改您的 .env 文件,添加以下来自 Cloudinary 的信息

必需

CLOUDINARY_API_KEY=012345679890123
CLOUDINARY_API_SECRET=foobarfoobarfoob-arfoobarfo
CLOUDINARY_CLOUD_NAME=foobarcorp

可选

CLOUDINARY_BASE_URL
CLOUDINARY_SECURE_URL
CLOUDINARY_API_BASE_URL

Laravel 5.5+ 使用包自动发现,因此不需要您手动添加 ServiceProvider。如果您不使用自动发现,请按照以下步骤操作

在 config/app.php 中添加以下内容

'providers' => array(
  El3zahaby\Cloudder\CloudderServiceProvider::class,
);

'aliases' => array(
  'Cloudder' => El3zahaby\Cloudder\Facades\Cloudder::class,
);

运行 php artisan vendor:publish --provider="El3zahaby\Cloudder\CloudderServiceProvider"

使用方法

upload()

Cloudder::upload($filename, $publicId, array $options, array $tags);

with

  • $filename: 要上传的图像的路径
  • $publicId: 您想要您的图片在 Cloudinary 上拥有的 ID,留空则由 Cloudinary 生成随机 ID。
  • $options: 上传图像的选项,查看 Cloudinary 文档 了解更多信息
  • $tags: 图像的标签

返回 CloudinaryWrapper

uploadVideo()

Cloudder::uploadVideo($filename, $publicId, array $options, array $tags);

with

  • $filename: 要上传的视频的路径
  • $publicId: 您想要您的视频在 Cloudinary 上拥有的 ID,留空则由 Cloudinary 生成随机 ID。
  • $options: 上传视频的选项,查看 Cloudinary 文档了解更多信息
  • $tags: 图像的标签

返回 CloudinaryWrapper

getPublicId()

Cloudder::getPublicId()

返回最后一个上传资源的 public id

getResult()

Cloudder::getResult()

返回最后一个上传资源的结果。

show() + secureShow()

Cloudder::show($publicId, array $options)
Cloudder::secureShow($publicId, array $options)

with

  • $publicId: 要显示的资源 public id
  • $options: 上传资源的选项,查看 Cloudinary 文档了解更多信息

返回 Cloudinary 上图片的 url(如果使用 secureShow,则为 https url)。

showPrivateUrl()

Cloudder::showPrivateUrl($publicId, $format, array $options)

with

  • $publicId: 要显示的资源 public id
  • $format: 您想要显示的资源格式 ('png', 'jpg'...)
  • $options: 上传资源的选项,查看 Cloudinary 文档了解更多信息

返回 Cloudinary 上图片的 private url,默认情况下在 1 小时后过期。

rename()

Cloudder::rename($publicId, $toPublicId, array $options)

with

  • $publicId: 要重命名的资源的 publicId
  • $toPublicId: 资源的新 publicId
  • $options: 上传资源的选项,查看 cloudinary 文档了解更多信息

使用 $toPublicId id 参数重命名原始图片。

destroyImage() + delete()

Cloudder::destroyImage($publicId, array $options)
Cloudder::delete($publicId, array $options)

with

  • $publicId: 要移除的资源的 publicId
  • $options: 删除图像的选项,查看 cloudinary 文档了解更多信息

从 Cloudinary 中删除图像。

destroyImages()

Cloudder::destroyImages(array $publicIds, array $options)

with

  • $publicIds: 标识要删除的图片的 ID 数组
  • $options: 删除图像的选项,查看 cloudinary 文档了解更多信息

从 Cloudinary 中删除图像。

addTag()

Cloudder::addTag($tag, $publicIds, array $options)

with

  • $tag: 要应用的标签
  • $publicIds: 应用标签的图片
  • $options: 上传资源的选项,查看 cloudinary 文档了解更多信息

removeTag()

Cloudder::removeTag($tag, $publicIds, array $options)

with

  • $tag: 要删除的标签
  • $publicIds: 从中删除标签的图片
  • $options: 上传图像的选项,查看 Cloudinary 文档了解更多信息

createArchive()

Cloudder::createArchive(array $options, $archiveName, $mode)

with

  • $options:归档的选项,例如名称、标签/前缀/公共ID以选择图片
  • $archiveName:您想为归档提供的名称
  • $mode:'创建'或'download'('创建'将创建归档并返回包含归档属性的JSON响应,'下载'将返回可下载的zip文件)

在Cloudinary上创建zip文件。

downloadArchiveUrl()

Cloudder::downloadArchiveUrl(array $options, $archiveName)

with

  • $options:归档的选项,例如名称、标签/前缀/公共ID以选择图片
  • $archiveName:您想为归档提供的名称

返回Cloudinary上新建归档的下载URL

运行测试

phpunit

示例

您可以在以下仓库中找到一个工作示例 cloudder-l5-example