| 
<?php
 namespace League\Flysystem;
 
 class File extends Handler
 {
 /**
 * Check whether the file exists.
 *
 * @return bool
 */
 public function exists()
 {
 return $this->filesystem->has($this->path);
 }
 
 /**
 * Read the file.
 *
 * @return string file contents
 */
 public function read()
 {
 return $this->filesystem->read($this->path);
 }
 
 /**
 * Read the file as a stream.
 *
 * @return resource file stream
 */
 public function readStream()
 {
 return $this->filesystem->readStream($this->path);
 }
 
 /**
 * Write the new file.
 *
 * @param string $content
 *
 * @return bool success boolean
 */
 public function write($content)
 {
 return $this->filesystem->write($this->path, $content);
 }
 
 /**
 * Write the new file using a stream.
 *
 * @param resource $resource
 *
 * @return bool success boolean
 */
 public function writeStream($resource)
 {
 return $this->filesystem->writeStream($this->path, $resource);
 }
 
 /**
 * Update the file contents.
 *
 * @param string $content
 *
 * @return bool success boolean
 */
 public function update($content)
 {
 return $this->filesystem->update($this->path, $content);
 }
 
 /**
 * Update the file contents with a stream.
 *
 * @param resource $resource
 *
 * @return bool success boolean
 */
 public function updateStream($resource)
 {
 return $this->filesystem->updateStream($this->path, $resource);
 }
 
 /**
 * Create the file or update if exists.
 *
 * @param string $content
 *
 * @return bool success boolean
 */
 public function put($content)
 {
 return $this->filesystem->put($this->path, $content);
 }
 
 /**
 * Create the file or update if exists using a stream.
 *
 * @param resource $resource
 *
 * @return bool success boolean
 */
 public function putStream($resource)
 {
 return $this->filesystem->putStream($this->path, $resource);
 }
 
 /**
 * Rename the file.
 *
 * @param string $newpath
 *
 * @return bool success boolean
 */
 public function rename($newpath)
 {
 if ($this->filesystem->rename($this->path, $newpath)) {
 $this->path = $newpath;
 
 return true;
 }
 
 return false;
 }
 
 /**
 * Copy the file.
 *
 * @param string $newpath
 *
 * @return File|false new file or false
 */
 public function copy($newpath)
 {
 if ($this->filesystem->copy($this->path, $newpath)) {
 return new File($this->filesystem, $newpath);
 }
 
 return false;
 }
 
 /**
 * Get the file's timestamp.
 *
 * @return int unix timestamp
 */
 public function getTimestamp()
 {
 return $this->filesystem->getTimestamp($this->path);
 }
 
 /**
 * Get the file's mimetype.
 *
 * @return string mimetime
 */
 public function getMimetype()
 {
 return $this->filesystem->getMimetype($this->path);
 }
 
 /**
 * Get the file's visibility.
 *
 * @return string visibility
 */
 public function getVisibility()
 {
 return $this->filesystem->getVisibility($this->path);
 }
 
 /**
 * Get the file's metadata.
 *
 * @return array
 */
 public function getMetadata()
 {
 return $this->filesystem->getMetadata($this->path);
 }
 
 /**
 * Get the file size.
 *
 * @return int file size
 */
 public function getSize()
 {
 return $this->filesystem->getSize($this->path);
 }
 
 /**
 * Delete the file.
 *
 * @return bool success boolean
 */
 public function delete()
 {
 return $this->filesystem->delete($this->path);
 }
 }
 
 |