function uploadTmpFile($source, $overwrite = false, $debug = false, $localdir = false) { $filePath = $this->getTmpPath($source, $localdir); $size = filesize($filePath); $input = $this->s3->inputResource($f = fopen($filePath, "r"), $size); $url = ReferenceTable::generateS3path($source); if (!$overwrite && $this->s3->getObjectInfo(sfConfig::get('app_amazon_s3_bucket'), $url) !== false) { print "ALREADY UPLOADED: " . $url . "\n"; return; } if (S3::putObject($input, sfConfig::get('app_amazon_s3_bucket'), $url, S3::ACL_PUBLIC_READ)) { print "UPLOADED: " . $url . "\n"; } else { if ($debug) { print "Couldn't upload reference to S3: " . $url . "\n"; } } }