As this plugin is a Behavior, there are some field names you can not use because they are used by the internal CakePHP system. Please do not use these field names:
priority
This is a list of all the available configuration options which can be passed in under each field in your behavior configuration.
pathProcessor
: Returns a ProcessorInterface class name.
Default: (string) Josegonzalez\Upload\File\Path\DefaultProcessor
writer
: Returns a WriterInterface class name.
Default: (string) Josegonzalez\Upload\File\Writer\DefaultWriter
transformer
: Returns a TransformerInterface class name. Can also be a PHP callable.
Default: (string) Josegonzalez\Upload\File\Transformer\DefaultTransformer
path
: A path relative to the filesystem.root
.
Default: (string)
'webroot{DS}files{DS}{model}{DS}{field}{DS}'
Tokens:
{DS}: Replaced by a DIRECTORY_SEPARATOR
{model}: Replaced by the Table-alias() method.
{table}: Replaced by the Table->table() method.
{field}: Replaced by the name of the field which will store the upload filename.
{field-value:(w+)}: Replaced by value contained in the
current entity in the specified field. As an example, if
your path has {field-value:unique_id}
and the entity
being saved has a value of 4b3403665fea6
for the field
unique_id
, then {field-value:unique_id}
will be
replaced with 4b3403665fea6
. This replacement can be used
multiple times for one or more fields. If the value is not
a string or zero-length, a LogicException will be thrown.
{primaryKey}: Replaced by the entity primary key, when available. If used on a new record being created, a LogicException will be thrown.
{year}: Replaced by date('Y')
{month}: Replaced by date('m')
{day}: Replaced by date('d')
{time}: Replaced by time()
{microtime}: Replaced by microtime()
fields
: An array of fields to use when uploading files
Options:
fields.dir
: (default dir
) Field to use for storing the directory
fields.type
: (default type
) Field to use for storing the filetype
fields.size
: (default size
) Field to use for storing the filesize
fields.ext
: (default ext
) Field to use for storing the file extension
filesystem
: An array of configuration info for configuring the writer
If using the DefaultWriter, the following options are available:
Options:
filesystem.root
: (default ROOT . DS
) Directory where files should be written to by default
filesystem.adapter
: (default Local Flysystem Adapter) A Flysystem-compatible adapter. Can also be a callable that returns an adapter.
filesystem.visibility
: (default 'public'
) Sets the related file permissions. Should either be 'public'
or 'private'
.
nameCallback
: A callable that can be used by the default pathProcessor to rename a file. Only handles original file naming.
Default: NULL
Available arguments:
Table $table
: The table of the current entity
Entity $entity
: The entity you want to add/edit
array $data
: The upload data
string $field
: The field for which data will be added/edited
array $settings
: UploadBehavior settings for the current field
Return: (string) the new name for the file
keepFilesOnDelete
: Keep all files when deleting a record.
Default: (boolean) true
deleteCallback
: A callable that can be used to delete different versions of the file.
Default: NULL
Available arguments:
string $path
: Basepath of the file you want to delete
Entity $entity
: The entity you want to delete
string $field
: The field for which data will be removed
array $settings
: UploadBehavior settings for the current field
Return: (array) the files you want to be deleted
restoreValueOnFailure
: Restores original value of the current field when uploaded file has error
Defaults: (boolean) true