Wiki
Clone wikiphp-cloud-uploader / Home
Overview
This library is a tiny implementation to use cloud storage services as your own CDN.
It supports the following services.
- Amazon S3
- Amazon S3 + CloudFront
- Windows Azure Blob Storage
- Windows Azure Blob Storage + CDN
Requirement
- PHP 5.1+
- PHP cURL module or PEAR HTTP_Request installed
- PHP hash_hmac function enabled or PEAR Crypt_HMAC2 installed
Usage
The following example code uploads your local file to cloud storage and verifies.
Amazon S3
<?php require('Cloud/Uploader.php'); $uploader = new Cloud_Uploader_AmazonS3( 'KEY ID', 'SECRET', 'BUCKET', 'URL BASE' ); // Examples: // KEY ID: 0PP2.. // SECRET: 07Qs.. // BUCKET: cloud-uploader-test // URL BASE: http://cloud-uploader-test.s3.amazonaws.com/ // * If you use cloud front, set the root url. $requests = array(); $requests []= new Cloud_Uploader_UploadRequest( 'path/to/remote/file', 'path/to/local/file', 'content-type' ); // content-type: Like image/jpeg, text/css, text/javascript, ... $uploader->upload($requests);
Windows Azure Blob Storage
<?php require('Cloud/Uploader.php'); $uploader = new Cloud_Uploader_AzureBlob( 'ACCOUNT', 'ACCESS KEY', 'CONTAINER', 'URL BASE' ); // Examples: // ACCOUNT: miyanaga // ACCESS KEY: ugLn.. // BUCKET: static // URL BASE: http://miyanage.blob.core.windows.net/static/ // * If you set CDN endpoint to the storage account, set the CND root url. $requests = array(); $requests []= new Cloud_Uploader_UploadRequest( 'path/to/remote/file', 'path/to/local/file', 'content-type' ); // content-type: Like image/jpeg, text/css, text/javascript, ... $uploader->upload($requests);
Examples
Skip verification
The 'upload' method has verification switch as second parameter.
$uploader->upload( $requests, false );
Use PEAR
If cURL functions or 'hash_hmac' function are not enabled, use PEAR instead.
// Use PEAR HTTP_Request instead of cURL. $uploader = new Cloud_Uploader_AmazonS3( 'KEY ID', 'SECRET', 'BUCKET', 'URL BASE', 'HTTPRequest', 'builtin' );
// Use PEAR Crypt_HMAC2 instead of built-in hash_hmac. $uploader = new Cloud_Uploader_AmazonS3( 'KEY ID', 'SECRET', 'BUCKET', 'URL BASE', 'cURL', 'CryptHMAC2' );
License
Licensed under The MIT License.
Updated