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";
         }
     }
 }