Uploads an object (file) from your computer to an AWS S3 bucket.
Usage Statement
USAGE: s3_fileUpload.php -b <bucketName> -f <filepath> -k <filekey> -a <accessKeyId> -s <secretKeyId> [-p <PRIVATE | PUBLIC_READ | PUBLIC_READ_WRITE>] [-t <content-type>]
-b indicates the bucket name you want to upload the file to
-f indicates the full path and file to upload (may be relative)
-k is the key the file should be stored under
-a is the public AWS access key
-s is the private AWS secret key
-p permissions, default to PUBLIC_READ
-t is the content-type, aka mime-type, for storage
<?php
/**
* Copyright (c) 2008, Corey's Consulting LLC. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
//
// Creates a new file in S3.
//
// ----------------------------------------------------------------------------
function printUsage($progName)
{
echo "\n";
echo " USAGE: $progName -b <bucketName> -f <filepath> -k <filekey>\n";
echo " -a <accessKeyId> -s <secretKeyId>\n";
echo " [-p <PRIVATE | PUBLIC_READ | PUBLIC_READ_WRITE>]\n";
echo " [-t <content-type>]\n";
echo "\n";
echo " -b indicates the bucket name you want to upload the file to\n";
echo " -f indicates the full path and file to upload (may be relative)\n";
echo " -k is the key the file should be stored under\n";
echo " -a is the public AWS access key\n";
echo " -s is the private AWS secret key\n";
echo " -p permissions, default to PUBLIC_READ\n";
echo " -t is the content-type, aka mime-type, for storage\n";
echo "\n";
}
// ----------------------------------------------------------------------------
// MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN MAIN
// ----------------------------------------------------------------------------
for (;;) // enables a single exit point
{
$retVal = 1;
require_once("common.inc");
require_once("S3.php");