PHP quick start

Last updated: Nov-14-2022

This quick start is intended to let you quickly try using several common Cloudinary features. It doesn't necessarily employ coding best practices and the code you create here isn't intended for production.

You can perform this quick start in a code sandbox or in a clean project in the dev environment of your choice.

You can also view the completed code of this quick start in a GitHub repo.

Tip
If you aren't familiar with Cloudinary, you may want to first take a look at the Developer get started guide for a high-level overview of integrating Cloudinary into your code, and an introduction to the main concepts.

You may also find our Glossary helpful to understand Cloudinary-specific terminology.

Prerequisites

To perform the steps in this quick start, you'll need:

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

    Copy to clipboard
    {
      "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:

    Copy to clipboard
    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

Copy to clipboard
<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)

Copy to clipboard
// 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)

Copy to clipboard
// 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)

Copy to clipboard
// 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!

Rate this page: