Как загружать изображения с помощью PHP в Cloudinary – бесплатный хостинг изображений
CDN – не новое слово для веб-разработчиков. CDN означает сеть доставки контента или сеть распространения контента. Размещение наших CSS, JS и изображений в облаке и доступ через CDN снижает нагрузку на наш собственный сервер, что в конечном итоге помогает в производительности веб-сайта.
Когда мы размещаем наши файлы в облаке и получаем к ним доступ через CDN, эти файлы доставляются со сторонних серверов на наш сервер. Этот процесс избавляет от лишних обращений к файлам и, как следствие, нагрузки на наш собственный сервер.
Cloudinary – это служба хостинга изображений, которая позволяет нам управлять нашими изображениями и видео. Они предоставляют как бесплатные, так и платные планы. Облачный бесплатный план неплох. Ниже приведен скриншот их бесплатного плана.
В этой статье мы изучаем, как загружать изображения в Cloudinary, отображать изображения из Cloudinary с помощью PHP.
Получить ключ API и секрет API
Наше приложение будет взаимодействовать с Cloudinary. Чтобы общаться с Cloudinary, нам нужно создать ключи API. Для этого вам необходимо создать учетную запись в Cloudinary и получить ключи API. В нашем случае нам требуются 3 вещи – имя облака, ключ API и секрет API. Вы получите все эти сведения на панели управления Cloudinary.
Следующее, что нужно сделать, это установить официальную библиотеку PHP Cloudinary. В вашей системе должен быть установлен Composer.
Откройте терминал в корневом каталоге вашего проекта и выполните следующую команду.
composer require cloudinary/cloudinary_php
Загрузить изображение в Cloudinary
Мы создали учетную запись в Cloudinary и получили наши учетные данные API. Мы также установили библиотеку PHP. Теперь мы готовы написать фрагмент кода, который загружает изображение в Cloudinary.
<?php
require_once "vendor/autoload.php";
Cloudinary::config(array(
"cloud_name" => 'YOUR_CLOUD_NAME',
"api_key" => 'YOUR_API_KEY',
"api_secret" => 'YOUR_API_SECRET'
));
$arr_result = CloudinaryUploader::upload(__DIR__. "/images/sample.png");
print_r($arr_result);
?>
В приведенном выше коде вам нужно заменить заполнители фактическими значениями. Вы также должны указать путь для вашего изображения. В нашем случае мы установили это значение __DIR__. "/images/sample.png"
.
Когда мы печатаем ответ, мы получаем результат, как показано ниже.
Array ([public_id] => sample
[version] => 1312461204
[width] => 864
[height] => 576
[format] => jpg
[bytes] => 120253
[url] => https://res.cloudinary.com/demo/image/upload/v1371281596/sample.jpg
[secure_url] => https://res.cloudinary.com/demo/image/upload/v1371281596/sample.jpg
)
Здесь вам нужно сохранить public_id или secure_url (или URL) в своей базе данных. Сохраняя secure_url, вы можете напрямую передать этот URL-адрес в HTML-тег img и отобразить изображение. В случае public_id для отображения изображения вам необходимо написать код, как показано ниже.
<?php
echo cl_image_tag('PASTE_PUBLID_ID_HERE');
?>
Кроме того, вы можете установить ширину, высоту, атрибут alt, используя тот же метод.
<?php
echo cl_image_tag('PASTE_PUBLID_ID_HERE', ['alt' => 'test', 'width' => 100, 'height' => 150]);
?>
Вы также можете прочитать официальную документацию по интеграции PHP Cloudinary .
Надеемся, вы понимаете, как работать с API Clodinary. Мы рекомендуем использовать эту услугу хостинга изображений, которая поможет вам повысить производительность сайта.