Cakephp 3 图片通过 API 上传到 Cloudinary
Cakephp 3 Image Upload to Cloudinary via API
我正要将图像上传到 cloudinary - 图像 CDN 外观 cloudinary.com,它支持所有语言和框架,包括 Cakephp 3,但对于 cakephp 3,我们没有包含在他们的站点中的步骤。谁能告诉我轻松上传图片的步骤?
根据他们的网站,我提供了上传程序。
基本文档:
http://cloudinary.com/documentation/php_integration#getting_started_guide
第 1 步:
安装
{
"require": {
"cloudinary/cloudinary_php": "dev-master"
}
}
将以上内容添加到项目文件夹中的 composer.json。
您可以使用 composer 更新它并获取依赖项。 运行 导航到您的项目文件夹后,composer 中的以下内容。
php composer.phar update
第 2 步:
在 Cake PHP.
中安装
打开您的 AppController 并在 initialize 函数中添加以下内容
它看起来像下面这样:
public function initialize() {
parent::initialize();
$this->loadComponent('Flash');
\Cloudinary::config(array(
"cloud_name" => "sample",
"api_key" => "874837483274837",
"api_secret" => "a676b67565c6767a6767d6767f676fe1"
));
}
在上面你可以找到cloudinary配置,替换成你自己的凭据。
要获取凭据,请按照下面的 link 并登录,
https://cloudinary.com/users/login
第 3 步:
图片上传程序
<?php
echo $this->Form->create('upload_form', ['enctype' => 'multipart/form-data']);
echo $this->Form->input('upload', ['type' => 'file']);
echo $this->Form->button('Change Image', ['class' => 'btn btn-primary']);
echo $this->Form->end();
?>
在你的视图文件中使用上面的代码。 (您可以根据需要修改)
在你的控制器中,你可以通过以下方式使用,
if (!empty($this->request->data['upload']['name'])) {
$file = $this->request->data['upload']; //put the data into a var for easy use
$cloudOptions = array("width" => 1200, "height" => 630, "crop" => "crop");
$cloudinaryAPIReq = \Cloudinary\Uploader::upload($file["tmp_name"], $cloudOptions);
$imageFileName = $cloudinaryAPIReq['url'];
}
您可以将 $imagefilename 保存在您的数据库中,在这里保存并重新填充完整的 url。
我正要将图像上传到 cloudinary - 图像 CDN 外观 cloudinary.com,它支持所有语言和框架,包括 Cakephp 3,但对于 cakephp 3,我们没有包含在他们的站点中的步骤。谁能告诉我轻松上传图片的步骤?
根据他们的网站,我提供了上传程序。
基本文档:
http://cloudinary.com/documentation/php_integration#getting_started_guide
第 1 步: 安装
{
"require": {
"cloudinary/cloudinary_php": "dev-master"
}
}
将以上内容添加到项目文件夹中的 composer.json。
您可以使用 composer 更新它并获取依赖项。 运行 导航到您的项目文件夹后,composer 中的以下内容。
php composer.phar update
第 2 步: 在 Cake PHP.
中安装打开您的 AppController 并在 initialize 函数中添加以下内容
它看起来像下面这样:
public function initialize() {
parent::initialize();
$this->loadComponent('Flash');
\Cloudinary::config(array(
"cloud_name" => "sample",
"api_key" => "874837483274837",
"api_secret" => "a676b67565c6767a6767d6767f676fe1"
));
}
在上面你可以找到cloudinary配置,替换成你自己的凭据。
要获取凭据,请按照下面的 link 并登录,
https://cloudinary.com/users/login
第 3 步: 图片上传程序
<?php
echo $this->Form->create('upload_form', ['enctype' => 'multipart/form-data']);
echo $this->Form->input('upload', ['type' => 'file']);
echo $this->Form->button('Change Image', ['class' => 'btn btn-primary']);
echo $this->Form->end();
?>
在你的视图文件中使用上面的代码。 (您可以根据需要修改)
在你的控制器中,你可以通过以下方式使用,
if (!empty($this->request->data['upload']['name'])) {
$file = $this->request->data['upload']; //put the data into a var for easy use
$cloudOptions = array("width" => 1200, "height" => 630, "crop" => "crop");
$cloudinaryAPIReq = \Cloudinary\Uploader::upload($file["tmp_name"], $cloudOptions);
$imageFileName = $cloudinaryAPIReq['url'];
}
您可以将 $imagefilename 保存在您的数据库中,在这里保存并重新填充完整的 url。