#!/usr/bin/php
<?php
/**
 * ./push-to-s3.php abc.tgz
 */
require_once('class.s3.php');

define('AWS_PUBLIC_KEY''YOUR_PUBLIC_KEY');
define('AWS_SECRET_KEY''YOUR_SECRET_KEY');
define('AWS_BUCKET''YOUR_BUCKET_NAME');

define('FROM_DIR''/backup/'); // 從這個目錄拉檔案
define('TO_DIR''backup'); // 備份上去前面 key 的名字(可想像成目錄名)


$fname = isset($argv[1]) ? $argv[1] : false;

if (!
$fname || !file_exists(FROM_DIR $fname)) {
    echo 
"File not found!\n";
    exit;
}

$tname TO_DIR '/' $fname;

$s3 = new S3(AWS_PUBLIC_KEYAWS_SECRET_KEY);

//function putObject(AWS_CDN_BUCKET, '上傳上去的 路徑+檔名(key)', 'local filename', true);
//$result = $s3->putObject(AWS_BUCKET, $tname, $fname, true); // public
$result $s3->putObject(AWS_BUCKET$tname$fnamefalse); // private
if (!$s3->isOk($result)) {  // 確認資料是否上傳完成, 所有 function 確認, 都使用 isOK()
    
echo "Amazon backup $fname -> $tname failed";
}

/*
class function list:
    class S3($key = null, $secret = null)
    function directorySize($bucket, $prefix = "")
    function recursiveDelete($bucket, $object)
    function deleteObject($bucket, $object)
    function putObject($bucket, $object, $filename, $public = null, $disposition = null)
    function getObject($bucket, $object)
    function downloadObject($bucket, $object, $saveTo)
    function bucketExists($bucket)
    function getBuckets()
    function createBucket($bucket)
    function deleteBucket($bucket, $force = false)
    function isOk($result)
    function objectExists($bucket, $object)
    function getObjectHead($bucket, $object)
    function getObjectInfo($bucket, $object)
    function getBucketContents($bucket, $prefix = null, $delim = null, $marker = null)
    function sendRequest($req, $params = null)
    function signature($req)
    function hasher($data)
    function base64($str)
    function sortKeys($keys, $first = null)
*/
?>