
Copy.com é un servizio di Cloud Storage, Copy.com, simile a Dropbox, che da la possibilità a chi si iscrive di ricevere subito 15GB di spazio (invece dei 2GB di Dropbox) da utilizzare per salvare i propri file (audio, video, foto, ecc) e sincronizzarli su più pc tramite l’app dedicata.
In più è possibile riceverne 5GB aggiuntivi come premio per raccomandare il servizio tramite un link referer come questo : https://copy.com?r=lmvNkG e 2GB dopo aver twittato la notizia della propria iscrizione e arrivare da subito ad un totale di 22GB senza aver fatto nessuno sforzo.
Grazie alla interfaccia API resa disponibile da Barracuda Networks (l'azienda che commercializza copy.com) possiamo comodamente fare il backup dei files direttamente dal nostro server al nostro account in copy.com. Pensiamo ad esempio al caso pratico in cui abbiamo una piattaforma su cui vengono caricate innumerevoli immagini da differenti account, bene utilizzando la API php di copy.com potremo usare l'account come archivio con l'immagine originale, mentre potremo scaricare l'immagine per essere ridimensionata e salvata sul nostro server, risparmiando cosí prezioso spazio. Oppure uno dei casi piú comuni é quello del backup di databases. Grazie ai giga a disposizione e alla API in questione non sará difficile fare un backup remoto.
Vediamo adesso come installare la libreria e attivare il funzionamento api, innanzitutto oltre ad iscriverci a copy.com dovremo iscriverci separatamente anche all'area http://developers.copy.com come developers e creare la nostra prima applicazione, in questo modo otterremo le stringhe "consumer Key" e "consumer Secret"
Una volta creata l'applicazione dovremo creare gli "access Token" e "token Secret".
Adesso sará necessario installare sul proprio server il package https://github.com/copy-app/php-client-library , per l'installazione é richiesto il Composer.
Vediamo adesso il codice necessario per l'upload di una immagine:
$consumerKey = 'la-tua-consumer-key';
$consumerSecret = 'la-tua-consumer-secret';
$accessToken = 'il-tuo-access-token';
$tokenSecret = 'il-tuo-token-secret';
$copy = new \Barracuda\Copy\API($consumerKey, $consumerSecret, $accessToken, $tokenSecret);
// open a file to upload
$fh = fopen('mano.jpg', 'rb');
// upload the file in 1MB chunks
$parts = array();
while ($data = fread($fh, 1024 * 1024)) {
$part = $copy->sendData($data);
array_push($parts, $part);
}
// close the file
fclose($fh);
// finalize the file
$copy->createFile('/mano.jpg', $parts);
Et voilá, il file verrá rapidamente caricato sul proprio account in copy.com, da notare anche la velocitá con cui viene elaborato il caricamento ed il download. Copy.com é estremamente rapido, forse il migliore in questi termini.
Chiaramente oltre al caricamento potremo eseguire qualsiasi altro tipo di operazione con il files, per saperne di piú basterá visitare la pagina sopra indicata in GitHub.