SilverStripe\Assets\File

This class handles the representation of a file on the filesystem within the framework.

Most of the methods also handle the subclass.
Note: The files are stored in the assets/ directory, but SilverStripe
looks at the db object to gather information about a file such as URL
It then uses this for all processing functions (like image manipulation).
<b>Security</b>
Caution: It is recommended to disable any script execution in the "assets/"
directory in the webserver configuration, to reduce the risk of exploits.
See http://doc.silverstripe.org/secure-development#filesystem
<b>Asset storage</b>
As asset storage is configured separately to any File DataObject records, this class
does not make any assumptions about how these records are saved. They could be on
a local filesystem, remote filesystem, or a virtual record container (such as in local memory).
The File dataobject simply represents an externally facing view of shared resources
within this asset store.
Internally individual files are referenced by a"Filename" parameter, which represents a File, extension,
and is optionally prefixed by a list of custom directories. This path is root-agnostic, so it does not
automatically have a direct url mapping (even to the site's base directory).
Additionally, individual files may have several versions distinguished by sha1 hash,
of which a File DataObject can point to a single one. Files can also be distinguished by
variants, which may be resized images or format-shifted documents.
<b>Properties</b>
- "Title": Optional title of the file (for display purposes only).
Defaults to "Name". Note that the Title field of Folder (subclass of File)
is linked to Name, so Name and Title will always be the same.
-"File": Physical asset backing this DB record. This is a composite DB field with
its own list of properties. for more information
- "Content": Typically unused, but handy for a textual representation of
files, e.g. for fulltext indexing of PDF documents.
- "ParentID": Points to a record. Should be in sync with
"Filename". A ParentID=0 value points to the "assets/" folder, not the webroot.
-"ShowInSearch": True if this file is searchable