name = $name; $this->contents = $contents; $this->mimeType = $mimeType; } /** * Returns the node name for this file. * * This name is used to construct the url. * * @return string */ public function getName() { return $this->name; } /** * Returns the data. * * This method may either return a string or a readable stream resource * * @return mixed */ public function get() { return $this->contents; } /** * Returns the size of the file, in bytes. * * @return int */ public function getSize() { return strlen($this->contents); } /** * Returns the ETag for a file. * * An ETag is a unique identifier representing the current version of the file. If the file changes, the ETag MUST change. * The ETag is an arbitrary string, but MUST be surrounded by double-quotes. * * Return null if the ETag can not effectively be determined * * @return string */ public function getETag() { return '"'.sha1($this->contents).'"'; } /** * Returns the mime-type for a file. * * If null is returned, we'll assume application/octet-stream * * @return string */ public function getContentType() { return $this->mimeType; } }