code: public function listFiles($directory) {
  		$files = [];
  		
  		$iterator = $this->getClient()->getIterator('ListObjects', [
  			'Bucket' => $this->bucket,
  			'Prefix' => $directory,
  		]);
  
  		foreach ($iterator as $object) {
  			// don't return directories
  			if(substr($object['Key'], -1) != '/') {
  				$file = [
  					'path' => $object['Key'],
  					'name' => substr($object['Key'], strrpos($object['Key'], '/' ) + 1),
  					'type' => $object['StorageClass'],
  					'size' => (int)$object['Size'],
  				];
  				$files[] = $file;
  			}
  		}
  		
  		return $files;
  	}
docs: Return the full path a file names only (no directories) within s3 virtual "directory" by treating s3 keys as path names.
  @param string $directory the prefix of keys to find
  @return array of ['path' => string, 'name' => string, 'type' => string, 'size' => int]