public function uploadDir($loaclDirPath, $remotePath = null, $isPublic = false) { $options = array(); if ($isPublic) { $options['params']['ACL'] = 'public-read'; } try { $ret = $this->s3Client->uploadDirectory($loaclDirPath, $this->bucketName, $remotePath, $options); } catch (\Exception $e) { throw $e; return false; } return $ret; }
/** * Recursively uploads all files in a given directory to a given bucket. * * @param string $directory Full path to a directory to upload * @param string $bucket Name of the bucket * @param string $keyPrefix Virtual directory key prefix to add to each upload * @param array $options Associative array of upload options * - params: Array of parameters to use with each PutObject operation performed during the transfer * - base_dir: Base directory to remove from each object key * - force: Set to true to upload every file, even if the file is already in Amazon S3 and has not changed * - concurrency: Maximum number of parallel uploads (defaults to 10) * - debug: Set to true or an fopen resource to enable debug mode to print information about each upload * - multipart_upload_size: When the size of a file exceeds this value, the file will be uploaded using a * multipart upload. * * @see Aws\S3\S3Sync\S3Sync for more options and customization */ public function uploadDirectory($directory, $bucket, $keyPrefix = null, array $options = []) { return $this->instance->uploadDirectory($directory, $bucket, $keyPrefix, $options); }
/** * uploadDirectory * * @param string $directory * @param string $keyPrefix * @param array $options * * @return mixed */ public function uploadDirectory($directory, $keyPrefix = null, array $options = array()) { return $this->client->uploadDirectory($directory, $this->name, $keyPrefix, $options); }