phpqrcode + save cached file to Amazon instead of folder on server

Viewed 925

What I do now is creating a QR code image (PNG) and save a copy of it in a folder on the root of my server. Now I would like to save this image not on my server but on my amazon bucket.

I know how I can save a file on amazon but I can't figure out how to make this work together. This is my original code for saving it in a root folder on my server:

$fileName = $quiz_url . '.png';

$pngAbsoluteFilePath = APPLICATION_PATH . '/../public/qrcodecaches/' . $fileName; 
$urlRelativeFilePath = '/qrcodecaches/' . $fileName;

// generating
if (!file_exists($pngAbsoluteFilePath)) {
    QRcode::png('http://mysitelink.com/s/'.$quiz_url, $pngAbsoluteFilePath, 'L', 4, 2);
}

And this is how I save a file on Amazon:

$bucket = 'mybucket';
$map = 'qrcodecaches';

$client = S3Client::factory(array(
    'key'    => 'mykey',
    'secret' => 'mysecret',
));


$fileName = $quiz_url . '.png';
$keyname = $map . '/' . $fileName;

try {
    $client->putObject(array(
        'Bucket' => $bucket,
        'Key'    => $keyname,
        'Body'   => fopen('/path/to/file', 'r'),
        'ACL'    => 'public-read',
    ));
   } catch (S3Exception $e) {
        echo "There was an error uploading the file.\n";
}

But what do I need to save in the 'Body' tag? Can somebody help me with this?

2 Answers
Related