Mabahe/php-keycdn-api

PHP Library for the KeyCDN API

★ 0Forks 0PHPGitHub ↗Compare

README

KeyCDN REST API Library

PHP Library for the KeyCDN API

KeyCDN is a Content Delivery Network to accelerate your web assets.

Please contact us if you got any questions or if you need more functionality: KeyCDN Support

Requirements

  • PHP 7.4 or above
  • PHP Curl Extension

Usage

<?php

require 'path_to_repo/src/KeyCDN.php';

// create the REST object
$keycdn_api = new KeyCDN\KeyCDN('your_api_key');

// get zone information
$keycdn_api->get('zones.json');


// change zone name and check if successfull
$result = $keycdn_api->post('zones/123.json', [
    'name' => 'newzonename',
]);


// convert json-answer into an array
$answer = json_decode($result, true);

if ($answer['status'] == 'success') {
    echo 'Zonename successfully changed...';
}

get traffic stats

// get traffic stats for the last 30 days
$result = $keycdn_api->get('reports/traffic.json', [
    'zone_id' => 123,
    'start'   => Carbon::now('UTC')->subDays(30)->timestamp,
    'end'     => Carbon::now('UTC')->timestamp
]);

// convert json-answer into an array
$answer = json_decode($result, true);

// since we get results pr day, we need to sum them
if ($answer['status'] == 'success') {
    $amount = 0;
    foreach ($answer['data']['stats'] as $stats) {
        $amount += $stats['amount'];
    }

    echo 'Traffic last 30 days: ' . $amount;
} else {
    echo 'Something went wrong...'
}

single or bulk url purge

$result = $keycdn->delete('zones/purgeurl/{zone_id}.json', [
    'urls' => ['foo-1.kxcdn.com/bar1.jpg','foo-1.kxcdn.com/bar2.jpg'],
]);

Methods

Each of the supported HTTP methods (GET, PUT, POST, DELETE) is produced by an own function in the KeyCDN lib. E.g. POST becomes $keycdn_api->post(...);.

Contributors

rkrxMabahesvenba

Issues