285 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			285 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| 
 | |
| namespace League\Flysystem;
 | |
| 
 | |
| use InvalidArgumentException;
 | |
| 
 | |
| interface FilesystemInterface
 | |
| {
 | |
|     /**
 | |
|      * Check whether a file exists.
 | |
|      *
 | |
|      * @param string $path
 | |
|      *
 | |
|      * @return bool
 | |
|      */
 | |
|     public function has($path);
 | |
| 
 | |
|     /**
 | |
|      * Read a file.
 | |
|      *
 | |
|      * @param string $path The path to the file.
 | |
|      *
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return string|false The file contents or false on failure.
 | |
|      */
 | |
|     public function read($path);
 | |
| 
 | |
|     /**
 | |
|      * Retrieves a read-stream for a path.
 | |
|      *
 | |
|      * @param string $path The path to the file.
 | |
|      *
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return resource|false The path resource or false on failure.
 | |
|      */
 | |
|     public function readStream($path);
 | |
| 
 | |
|     /**
 | |
|      * List contents of a directory.
 | |
|      *
 | |
|      * @param string $directory The directory to list.
 | |
|      * @param bool   $recursive Whether to list recursively.
 | |
|      *
 | |
|      * @return array A list of file metadata.
 | |
|      */
 | |
|     public function listContents($directory = '', $recursive = false);
 | |
| 
 | |
|     /**
 | |
|      * Get a file's metadata.
 | |
|      *
 | |
|      * @param string $path The path to the file.
 | |
|      *
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return array|false The file metadata or false on failure.
 | |
|      */
 | |
|     public function getMetadata($path);
 | |
| 
 | |
|     /**
 | |
|      * Get a file's size.
 | |
|      *
 | |
|      * @param string $path The path to the file.
 | |
|      *
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return int|false The file size or false on failure.
 | |
|      */
 | |
|     public function getSize($path);
 | |
| 
 | |
|     /**
 | |
|      * Get a file's mime-type.
 | |
|      *
 | |
|      * @param string $path The path to the file.
 | |
|      *
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return string|false The file mime-type or false on failure.
 | |
|      */
 | |
|     public function getMimetype($path);
 | |
| 
 | |
|     /**
 | |
|      * Get a file's timestamp.
 | |
|      *
 | |
|      * @param string $path The path to the file.
 | |
|      *
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return int|false The timestamp or false on failure.
 | |
|      */
 | |
|     public function getTimestamp($path);
 | |
| 
 | |
|     /**
 | |
|      * Get a file's visibility.
 | |
|      *
 | |
|      * @param string $path The path to the file.
 | |
|      *
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return string|false The visibility (public|private) or false on failure.
 | |
|      */
 | |
|     public function getVisibility($path);
 | |
| 
 | |
|     /**
 | |
|      * Write a new file.
 | |
|      *
 | |
|      * @param string $path     The path of the new file.
 | |
|      * @param string $contents The file contents.
 | |
|      * @param array  $config   An optional configuration array.
 | |
|      *
 | |
|      * @throws FileExistsException
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function write($path, $contents, array $config = []);
 | |
| 
 | |
|     /**
 | |
|      * Write a new file using a stream.
 | |
|      *
 | |
|      * @param string   $path     The path of the new file.
 | |
|      * @param resource $resource The file handle.
 | |
|      * @param array    $config   An optional configuration array.
 | |
|      *
 | |
|      * @throws InvalidArgumentException If $resource is not a file handle.
 | |
|      * @throws FileExistsException
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function writeStream($path, $resource, array $config = []);
 | |
| 
 | |
|     /**
 | |
|      * Update an existing file.
 | |
|      *
 | |
|      * @param string $path     The path of the existing file.
 | |
|      * @param string $contents The file contents.
 | |
|      * @param array  $config   An optional configuration array.
 | |
|      *
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function update($path, $contents, array $config = []);
 | |
| 
 | |
|     /**
 | |
|      * Update an existing file using a stream.
 | |
|      *
 | |
|      * @param string   $path     The path of the existing file.
 | |
|      * @param resource $resource The file handle.
 | |
|      * @param array    $config   An optional configuration array.
 | |
|      *
 | |
|      * @throws InvalidArgumentException If $resource is not a file handle.
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function updateStream($path, $resource, array $config = []);
 | |
| 
 | |
|     /**
 | |
|      * Rename a file.
 | |
|      *
 | |
|      * @param string $path    Path to the existing file.
 | |
|      * @param string $newpath The new path of the file.
 | |
|      *
 | |
|      * @throws FileExistsException   Thrown if $newpath exists.
 | |
|      * @throws FileNotFoundException Thrown if $path does not exist.
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function rename($path, $newpath);
 | |
| 
 | |
|     /**
 | |
|      * Copy a file.
 | |
|      *
 | |
|      * @param string $path    Path to the existing file.
 | |
|      * @param string $newpath The new path of the file.
 | |
|      *
 | |
|      * @throws FileExistsException   Thrown if $newpath exists.
 | |
|      * @throws FileNotFoundException Thrown if $path does not exist.
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function copy($path, $newpath);
 | |
| 
 | |
|     /**
 | |
|      * Delete a file.
 | |
|      *
 | |
|      * @param string $path
 | |
|      *
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function delete($path);
 | |
| 
 | |
|     /**
 | |
|      * Delete a directory.
 | |
|      *
 | |
|      * @param string $dirname
 | |
|      *
 | |
|      * @throws RootViolationException Thrown if $dirname is empty.
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function deleteDir($dirname);
 | |
| 
 | |
|     /**
 | |
|      * Create a directory.
 | |
|      *
 | |
|      * @param string $dirname The name of the new directory.
 | |
|      * @param array  $config  An optional configuration array.
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function createDir($dirname, array $config = []);
 | |
| 
 | |
|     /**
 | |
|      * Set the visibility for a file.
 | |
|      *
 | |
|      * @param string $path       The path to the file.
 | |
|      * @param string $visibility One of 'public' or 'private'.
 | |
|      *
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function setVisibility($path, $visibility);
 | |
| 
 | |
|     /**
 | |
|      * Create a file or update if exists.
 | |
|      *
 | |
|      * @param string $path     The path to the file.
 | |
|      * @param string $contents The file contents.
 | |
|      * @param array  $config   An optional configuration array.
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function put($path, $contents, array $config = []);
 | |
| 
 | |
|     /**
 | |
|      * Create a file or update if exists.
 | |
|      *
 | |
|      * @param string   $path     The path to the file.
 | |
|      * @param resource $resource The file handle.
 | |
|      * @param array    $config   An optional configuration array.
 | |
|      *
 | |
|      * @throws InvalidArgumentException Thrown if $resource is not a resource.
 | |
|      *
 | |
|      * @return bool True on success, false on failure.
 | |
|      */
 | |
|     public function putStream($path, $resource, array $config = []);
 | |
| 
 | |
|     /**
 | |
|      * Read and delete a file.
 | |
|      *
 | |
|      * @param string $path The path to the file.
 | |
|      *
 | |
|      * @throws FileNotFoundException
 | |
|      *
 | |
|      * @return string|false The file contents, or false on failure.
 | |
|      */
 | |
|     public function readAndDelete($path);
 | |
| 
 | |
|     /**
 | |
|      * Get a file/directory handler.
 | |
|      *
 | |
|      * @deprecated
 | |
|      *
 | |
|      * @param string  $path    The path to the file.
 | |
|      * @param Handler $handler An optional existing handler to populate.
 | |
|      *
 | |
|      * @return Handler Either a file or directory handler.
 | |
|      */
 | |
|     public function get($path, Handler $handler = null);
 | |
| 
 | |
|     /**
 | |
|      * Register a plugin.
 | |
|      *
 | |
|      * @param PluginInterface $plugin The plugin to register.
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function addPlugin(PluginInterface $plugin);
 | |
| }
 |