78 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| 
 | |
| namespace Sabre\DAV;
 | |
| 
 | |
| /**
 | |
|  * This interface represents a file in the directory tree
 | |
|  *
 | |
|  * A file is a bit of a broad definition. In general it implies that on
 | |
|  * this specific node a PUT or GET method may be performed, to either update,
 | |
|  * or retrieve the contents of the file.
 | |
|  *
 | |
|  * @copyright Copyright (C) 2007-2015 fruux GmbH (https://fruux.com/).
 | |
|  * @author Evert Pot (http://evertpot.com/)
 | |
|  * @license http://sabre.io/license/ Modified BSD License
 | |
|  */
 | |
| interface IFile extends INode {
 | |
| 
 | |
|     /**
 | |
|      * Updates the data
 | |
|      *
 | |
|      * The data argument is a readable stream resource.
 | |
|      *
 | |
|      * After a succesful put operation, you may choose to return an ETag. The
 | |
|      * etag must always be surrounded by double-quotes. These quotes must
 | |
|      * appear in the actual string you're returning.
 | |
|      *
 | |
|      * Clients may use the ETag from a PUT request to later on make sure that
 | |
|      * when they update the file, the contents haven't changed in the mean
 | |
|      * time.
 | |
|      *
 | |
|      * If you don't plan to store the file byte-by-byte, and you return a
 | |
|      * different object on a subsequent GET you are strongly recommended to not
 | |
|      * return an ETag, and just return null.
 | |
|      *
 | |
|      * @param resource $data
 | |
|      * @return string|null
 | |
|      */
 | |
|     function put($data);
 | |
| 
 | |
|     /**
 | |
|      * Returns the data
 | |
|      *
 | |
|      * This method may either return a string or a readable stream resource
 | |
|      *
 | |
|      * @return mixed
 | |
|      */
 | |
|     function get();
 | |
| 
 | |
|     /**
 | |
|      * Returns the mime-type for a file
 | |
|      *
 | |
|      * If null is returned, we'll assume application/octet-stream
 | |
|      *
 | |
|      * @return string|null
 | |
|      */
 | |
|     function getContentType();
 | |
| 
 | |
|     /**
 | |
|      * 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.
 | |
|      *
 | |
|      * Return null if the ETag can not effectively be determined
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     function getETag();
 | |
| 
 | |
|     /**
 | |
|      * Returns the size of the node, in bytes
 | |
|      *
 | |
|      * @return int
 | |
|      */
 | |
|     function getSize();
 | |
| 
 | |
| }
 | |
| 
 |