Programmable Media

PHP quick start

Last updated: Jun-04-2024

This quick start lets you get an end-to-end implementation up and running using the PHP SDK in 5 minutes or less.

1. Set up and configure the SDK

Install the SDK

Use Composer to manage your PHP library dependency, and install Cloudinary's PHP library.

  1. Update your composer.json file as follows:

    composer.json
    JSON
    {
      "require": {
        "cloudinary/cloudinary_php": "^2"
      }
    }
  2. Automatically install dependencies, including Cloudinary's PHP package, by running the following command in the root folder of your project:

    PHP
    php composer.phar install

Configure Cloudinary

Important
When writing your own applications, follow your organization's policy on storing secrets and don't expose your API secret.

Within a new file based on an empty HTML template called 'php_quickstart', use your API environment variable to configure your credentials (replace cloudinary://my_key:my_secret@my_cloud_name below with your environment variable value):

php_quickstart.php
PHP
<html lang="HTML5">
<head>    <title>PHP Quick Start</title>  </head>
<body>
<?php

require __DIR__ . '/vendor/autoload.php';

// Use the Configuration class 
use Cloudinary\Configuration\Configuration;

// Configure an instance of your Cloudinary cloud
Configuration::instance('cloudinary://my_key:my_secret@my_cloud_name?secure=true');

2. Upload an image

Use the upload method of the UploadApi class to upload assets to Cloudinary. The code is encased in HTML to format and display the response:

php_quickstart.php (continued)
PHP
// Use the UploadApi class for uploading assets
use Cloudinary\Api\Upload\UploadApi;

// Upload the image
$upload = new UploadApi();
echo '<pre>';
echo json_encode(
    $upload->upload('https://res.cloudinary.com/demo/image/upload/flower.jpg', [
        'public_id' => 'flower_sample',
        'use_filename' => true,
        'overwrite' => true]),
    JSON_PRETTY_PRINT
);
echo '</pre>';

3. Get info about the image

Use the asset method of the AdminApi class to return the details of our uploaded asset. The code is encased in HTML to format and display the response:

php_quickstart.php (continued)
PHP
// Use the AdminApi class for managing assets
use Cloudinary\Api\Admin\AdminApi;

// Get the asset details
$admin = new AdminApi();
echo '<pre>';
echo json_encode($admin->asset('flower_sample', [
    'colors' => true]), JSON_PRETTY_PRINT
);
echo '</pre>';

4. Transform and deliver the image

Use the imageTag method to generate the full image URL based on the specified transformation parameters and add the image tag to your HTML code:

php_quickstart.php (continued)
PHP
// Use the Resize transformation group and the ImageTag class
use Cloudinary\Transformation\Resize;
use Cloudinary\Transformation\Background;
use Cloudinary\Tag\ImageTag;

// Create the image tag with the transformed image
$imgtag = (new ImageTag('flower_sample'))
    ->resize(Resize::pad()
        ->width(400)
        ->height(400)
        ->background(Background::predominant())
    );

echo $imgtag;
// The code above generates an HTML image tag similar to the following:
//  <img src="https://res.cloudinary.com/demo/image/upload/b_auto:predominant,c_pad,h_400,w_400/flower_sample">

5. Run your code

Run your php_quickstart.php file and take a look at the output you get from each step of this quick start.

View the completed code

The sample code for this quick start can be forked from GitHub.

Next steps

  • Learn more about the PHP SDK by visiting the other pages in this SDK guide.
  • Get comprehensive details about Cloudinary features and capabilities:

✔️ Feedback sent!