its my first time using Cloudinary. I'm trying to upload an image to cloudinary but I'm getting an error that my environment isn't set or not set correctly.
I have no idea why its not being set, I just copied what cloudinary said I had to do.
cloudinary version: "cloudinary/cloudinary_php": "^2.10"
this is my code:
require 'vendor/autoload.php';
use Cloudinary\Cloudinary;
use Cloudinary\Api\Upload\UploadApi;
$cloudinary = new Cloudinary(
[
'cloud' => [
'cloud_name' => 'XXXXXXX',
'api_key' => 'XXXXXXXXXX',
'api_secret' => 'XXXXXXXXXXXXXXXXX',
],
]
);
$uploadApi = new UploadApi($cloudinary);
$result = $uploadApi->upload("images/signup-image.jpg", [
'folder' => 'promptopolis', // Optional: Specify a folder in Cloudinary
]);
print_r($result);
The full error i'm receiving:
Fatal error: Uncaught Cloudinary\Exception\ConfigurationException: Invalid configuration, please set up your environment in C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Configuration\Configuration.php:179
Stack trace:
#0 C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Configuration\Configuration.php(138): Cloudinary\Configuration\Configuration->import(Object(Cloudinary\Cloudinary))
#1 C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Configuration\Configuration.php(119): Cloudinary\Configuration\Configuration->init(Object(Cloudinary\Cloudinary), true)
#2 C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Api\ApiClient.php(88): Cloudinary\Configuration\Configuration->__construct(Object(Cloudinary\Cloudinary))
#3 C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Api\ApiClient.php(53): Cloudinary\Api\ApiClient->configuration(Object(Cloudinary\Cloudinary))
#4 C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Api\Upload\UploadApi.php(51): Cloudinary\Api\ApiClient->__construct(Object(Cloudinary\Cloudinary))
#5 C:\xampp\htdocs\php\eindwerk\test.php(17): Cloudinary\Api\Upload\UploadApi->__construct(Object(Cloudinary\Cloudinary))
#6 {main} thrown in C:\xampp\htdocs\php\eindwerk\vendor\cloudinary\cloudinary_php\src\Configuration\Configuration.php on line 179
ANSWER
Using this code
(new UploadApi())->upload('images/signup-image.jpg');
instead of
$uploadApi = new UploadApi($cloudinary);
$result = $uploadApi->upload("images/signup-image.jpg", [
'folder' => 'promptopolis', // Optional: Specify a folder in Cloudinary
]);
fixed it for me.