function putObjectStream($bucket, $key, $streamFunction,
$contentType, $contentLength, $acl, $metadataArray, $md5)
8 параметров у одной функции. Таким дерьмом пользоваться невозможно. Сравним это с аналогом на Ruby:
File.open(filename) do |f|
bucket[key] = f
end