public function getMetadata($key = null) { if (null === $key) { return stream_get_meta_data($this->resource); } $metadata = stream_get_meta_data($this->resource); if (!array_key_exists($key, $metadata)) { return null; } return $metadata[$key]; }