<?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); 
    } 
} 
 
 |