path, $data); clearstatcache(true, $this->path); } /** * Returns the data * * @return resource */ function get() { return fopen($this->path, 'r'); } /** * Delete the current file * * @return void */ function delete() { unlink($this->path); } /** * Returns the size of the node, in bytes * * @return int */ function getSize() { return filesize($this->path); } /** * 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 mixed */ function getETag() { return '"' . sha1( fileinode($this->path) . filesize($this->path) . filemtime($this->path) ) . '"'; } /** * Returns the mime-type for a file * * If null is returned, we'll assume application/octet-stream * * @return mixed */ function getContentType() { return null; } }