Class elFinderVolumeDriver
Base class for elFinder volume. Provide 2 layers: 1. Public API (commands) 2. abstract fs API All abstract methods begin with "_"
Direct known subclasses
elFinderVolumeBox, elFinderVolumeDropbox, elFinderVolumeDropbox2, elFinderVolumeFTP, elFinderVolumeGoogleDrive, elFinderVolumeGroup, elFinderVolumeLocalFileSystem, elFinderVolumeMySQL, elFinderVolumeOneDriveAuthor: Dmitry (dio) Levashov
Author: Troex Nevelin
Author: Alexey Sukhotin
Located at zp-extensions/elFinder/php/elFinderVolumeDriver.class.php
public
|
|
protected
boolean
|
|
protected
|
|
protected
|
|
public
string
|
|
public
string
|
|
public
|
|
public
object
|
|
public
|
#
saveSessionCache( )
Save session cache data Calls this function before umount this volume on elFinder::exec() |
public
array
|
|
public
array|false
|
|
public
array
|
|
public
|
|
public
|
|
public
boolean
|
|
public
|
|
public
|
|
public
array
|
|
public
boolean
|
#
isUploadableByName( string $name, boolean $allowUnknown = false )
Return is uploadable that given file name |
public
array
|
|
public
string
|
#
getExtentionByMime( string $mime, string $suffix = '' )
Return file extention detected by MIME type |
public
|
|
public
string
|
|
public
string
|
|
public
string
|
|
public
string
|
|
public
string
|
|
public
array
|
|
public
null|mixed
|
|
public
null|array
|
|
public
boolean
|
|
public
boolean|null
|
#
mimeAccepted( string $mime, array $mimes = null, boolean|null $empty = true )
Return true if mime is required mimes list |
public
boolean
|
|
public
boolean
|
|
public
string
|
|
public
string
|
|
public
array
|
|
public
array
|
|
public
|
|
public
|
|
public
string|false
|
|
public
array|false
|
|
public
array|false
|
|
public
array|false
|
|
public
array|false
|
|
public
array|false
|
|
public
array|false
|
|
public
false|string
|
|
public
array
|
|
public
Resource|false
|
|
public
|
|
public
array|false
|
|
public
array|false
|
|
public
array|false
|
|
public
array|false
|
|
public
array|false
|
|
public
array|false
|
|
public
array|false
|
|
public
string|false
|
|
public
array|false
|
|
public
array|boolean
|
|
public
array|boolean
|
|
protected
string|boolean
|
|
public
array|false
|
|
public
boolean
|
|
public
array
|
|
public
array|string
|
|
public
boolean
|
|
public
boolean|string
|
#
getContentUrl( string $hash, array $options = array() )
Return content URL (for netmout volume driver) If file.url == 1 requests from JavaScript client with XHR |
public
boolean|array
|
|
public
boolean
|
#
getSubstituteImgLink( string $target, array $srcSize, resource $srcfp = null, integer $maxSize = null )
Get URL of substitute image by request args |
public
string
|
|
public
boolean|string
|
#
getUploadTaget( string $baseTargetHash, string $path, array & $result )
(Make &) Get upload taget dirctory hash |
public
integer
|
|
public
|
|
public
boolean
|
|
public
boolean
|
#
ffmpegToImg( string $file, array $stat, object $self, integer $ss = null )
Convert Video To Image by ffmpeg |
public
resource|boolean
|
|
protected
boolean
|
|
protected
false
|
|
protected
string
|
|
protected
string
|
|
protected
string
|
#
joinPathCE( string $dir, string $name )
Join dir name and file name and return full path. (with convert encoding) Some drivers (db) use int as path - so we give to concat path to driver itself |
protected
string
|
|
protected
string
|
|
protected
string
|
|
protected
boolean
|
|
protected
false|resource
|
|
protected
boolean
|
|
protected
boolean|string
|
|
protected
boolean
|
|
protected
array
|
|
protected
boolean
|
|
protected
string
|
|
protected
string
|
|
protected
mixed
|
|
protected
mixed
|
|
protected
boolean
|
#
nameAccepted( string $name, boolean $isDir = false )
Validate file name based on $this->options['acceptedName'] regexp or function |
protected
string
|
|
public
string
|
#
uniqueName( $dir, $name, string $suffix = ' copy', boolean $checkNum = true, integer $start = 1 )
Return new unique name based on file name and suffix |
public
mixed
|
|
public
mixed
|
#
convEncOut( mixed $var = null, boolean $restoreLocale = true, string $unknown = '_' )
Converts character encoding from server's one to UTF-8 |
protected
mixed
|
|
public
string
|
#
mimeTypeNormalize( string $type, string $name, string $ext = '' )
Normalize MIME-Type by options['mimeMap'] |
protected
string|false
|
#
getTempFile( string $path = '' )
Get temporary filename. Tempfile will be removed when after script execution finishes or exit() is called. When needing the unique file to a path, give $path to parameter. |
protected
string
|
|
public
array|false
|
|
protected
boolean
|
|
protected
string|false
|
#
getItemsInHand( array $hashes, string $dir = null, string $canLink = null )
Copy items to a new temporary directory on the local server |
protected
boolean
|
|
protected
boolean
|
#
allowCreate( string $dir, string $name, null $isDir = null )
Return true if file with given name can be created in given folder. |
protected
boolean
|
#
allowPutMime( string $mime )
Return true if file MIME type can save with check uploadOrder config. |
protected
array|boolean
|
|
protected
array
|
|
protected
array
|
#
isNameExists( string $path )
Return fileinfo based on filename For item ID based path file system Please override if needed on each drivers |
protected
array
|
|
protected
|
|
protected
|
|
protected
string
|
|
protected static
|
|
protected static
string
|
#
mimetypeInternalDetect( string $path = '' )
Detect file mimetype using "internal" method or Loading mime.types with $path = '' |
protected
array
|
|
protected
boolean
|
|
protected
string|false
|
#
closestByAttr( string $path, string $attr, boolean $val )
If file has required attr == $val - return file path, If dir has child with has required attr == $val - return child path |
protected
string|false
|
#
childsByAttr( string $path, string $attr, boolean $val )
Return first found children with required attr == $val |
protected
|
|
protected
|
|
protected
array
|
#
getScandir( string $path )
Return required dir's files info. If onlyMimes is set - return only dirs and files of required mimes |
protected
array
|
|
protected
array
|
|
protected
string|false
|
|
protected
string|false
|
|
protected
string|false
|
|
protected
boolean
|
|
protected
string
|
|
protected
string|false
|
|
protected
string|boolean
|
#
canCreateTmb( string $path, array $stat, boolean $checkTmbPath = true )
Return true if thumnbnail for required file can be created |
protected
string|boolean
|
|
protected
false|string
|
|
protected
string|false
|
|
protected
string|false
|
|
protected
false|string
|
#
imgSquareFit( string $path, integer $width, integer $height, integer|string $align = 'center', integer|string $valign = 'middle', string $bgcolor = '#0000ff', string $destformat = null, integer $jpgQuality = null )
Put image to square |
protected
string|false
|
|
protected
integer
|
|
protected
|
|
protected
resource|false
|
#
gdImageCreate( string $path, string $mime )
Create an gd image according to the specified mime type |
protected
boolean
|
|
protected
boolean
|
#
imagickImage( imagick $img, string $filename, string $destformat, integer $jpgQuality = null )
Output imagick image to file |
protected
|
|
protected
array
|
#
imageMagickConvertPrepare( string $path, string $destformat, integer $jpgQuality, array $imageSize = null, null $mime = null )
Prepare variables for exec convert of ImageMagick |
protected
integer|boolean
|
|
protected
boolean
|
#
searchMatchName( String $name, String $query, String $path )
Default serach match method (name match) |
protected
array
|
|
protected
string
|
|
public
boolean
|
|
protected
string|boolean
|
#
makeArchive( string $dir, array $files, string $name, array $arc )
Create archive and return its path |
protected
|
|
protected
array
|
|
protected static
array
|
|
protected static
boolean
|
|
protected static
boolean
|
#
localMoveRecursive( string $src, string $target, boolean $overWrite = true, boolean $copyJoin = true )
Move item recursive on local file system |
protected static
boolean
|
#
zipArchiveZip( string $dir, array $files, string|object $zipPath )
Create Zip archive using PHP class ZipArchive |
protected static
boolean
|
|
protected static
boolean
|
|
abstract protected
string
|
|
abstract protected
string
|
|
abstract protected
string
|
|
abstract protected
string
|
|
abstract protected
string
|
|
abstract protected
string
|
|
abstract protected
string
|
|
abstract protected
boolean
|
|
abstract protected
array|false
|
#
_stat( string $path )
Return stat for given path. Stat contains following fields: - (int) size file size in b. required - (int) ts file modification time in unix time. required - (string) mime mimetype. required for folders, others - optionally - (bool) read read permissions. required - (bool) write write permissions. required - (bool) locked is object locked. optionally - (bool) hidden is object hidden. optionally - (string) alias for symlinks - link target path relative to root path. optionally - (string) target for symlinks - link target path. optionally If file does not exists - returns empty array or false. |
abstract protected
boolean
|
|
abstract protected
string
|
#
_dimensions( string $path, string $mime )
Return object width and height Ususaly used for images, but can be realize for video etc... |
abstract protected
array
|
|
abstract protected
resource|false
|
|
abstract protected
boolean
|
|
abstract protected
string|boolean
|
|
abstract protected
string|boolean
|
|
abstract protected
boolean
|
|
abstract protected
boolean|string
|
|
abstract protected
boolean|string
|
|
abstract protected
boolean
|
|
abstract protected
boolean
|
|
abstract protected
boolean|string
|
|
abstract protected
string|false
|
|
abstract protected
boolean
|
|
abstract protected
boolean
|
|
abstract protected
string|boolean
|
|
abstract protected
|
|
abstract protected
boolean
|
public
|
|
public
|
public
string
|
$netMountKey
Net mount key |
#
''
|
protected
array
|
$ARGS
Request args $_POST or $_GET values |
#
array()
|
protected
string
|
$driverId
Driver id Must be started from letter and contains [a-z0-9] Used as part of volume id |
#
'a'
|
protected
string
|
$id
Volume id - used as prefix for files hashes |
#
''
|
protected
boolean
|
$mounted
Flag - volume "mounted" and available |
#
false
|
protected
string
|
$root
Root directory path |
#
''
|
protected
string
|
$rootName
Root basename | alias |
#
''
|
protected
string
|
$startPath
Default directory to open |
#
''
|
protected
string
|
$URL
Base URL |
#
''
|
protected
string
|
$tmp
Path to temporary directory |
|
protected
string
|
$tmpLinkPath
A file save destination path when a temporary content URL is required on a network volume or the like If not specified, it tries to use "Connector Path/../files/.tmb". |
#
''
|
protected
string
|
$tmpLinkUrl
A file save destination URL when a temporary content URL is required on a network volume or the like If not specified, it tries to use "Connector URL/../files/.tmb". |
#
''
|
protected
string
|
$tmbPath
Thumbnails dir path |
#
''
|
protected
boolean
|
$tmbPathWritable
Is thumbnails dir writable |
#
false
|
protected
string
|
$tmbURL
Thumbnails base URL |
#
''
|
protected
integer
|
$tmbSize
Thumbnails size in px |
#
48
|
protected
string
|
$imgLib
Image manipulation lib name auto|imagick|gd|convert |
#
'auto'
|
protected
array
|
$imgConverter
Video to Image converter |
#
array()
|
protected
string
|
$cryptLib
Library to crypt files name |
#
''
|
protected
array
|
$archivers
Archivers config |
#
array(
'create' => array(),
'extract' => array()
)
|
protected static
integer|string
|
$maxArcFilesSize
Static var of $this->options['maxArcFilesSize'] |
|
protected
string
|
$encoding
Server character encoding |
#
null
|
protected
integer
|
$treeDeep
How many subdirs levels return for tree |
#
1
|
protected
array
|
$error
Errors from last failed action |
#
array()
|
protected
integer
|
$today
Today 24:00 timestamp |
#
0
|
protected
integer
|
$yesterday
Yesterday 24:00 timestamp |
#
0
|
protected
integer
|
$extractToNewdir
Force make dirctory on extract |
#
'auto'
|
protected
array
|
$options
Object configuration |
#
array(
// Driver ID (Prefix of volume ID), Normally, the value specified for each volume driver is used.
'driverId' => '',
// Id (Suffix of volume ID), Normally, the number incremented according to the specified number of volumes is used.
'id' => '',
// revision id of root directory that uses for caching control of root stat
'rootRev' => '',
// driver type it uses volume root's CSS class name. e.g. 'group' -> Adds 'elfinder-group' to CSS class name.
'type' => '',
// root directory path
'path' => '',
// Folder hash value on elFinder to be the parent of this volume
'phash' => '',
// Folder hash value on elFinder to trash bin of this volume, it require 'copyJoin' to true
'trashHash' => '',
// open this path on initial request instead of root path
'startPath' => '',
// how many subdirs levels return per request
'treeDeep' => 1,
// root url, not set to URL via the connector. If you want to hide the file URL, do not set this value. (replacement for old "fileURL" option)
'URL' => '',
// enable onetime URL to a file - (true, false, 'auto' (true if a temporary directory is available) or callable (A function that return onetime URL))
'onetimeUrl' => 'auto',
// directory link url to own manager url with folder hash (`true`, `false`, `'hide'`(No show) or default `'auto'`: URL is empty then `true` else `false`)
'dirUrlOwn' => 'auto',
// directory separator. required by client to show paths correctly
'separator' => DIRECTORY_SEPARATOR,
// Use '/' as directory separator when the path hash encode/decode on the Windows server too
'winHashFix' => false,
// Server character encoding (default is '': UTF-8)
'encoding' => '',
// for convert character encoding (default is '': Not change locale)
'locale' => '',
// URL of volume icon image
'icon' => '',
// CSS Class of volume root in tree
'rootCssClass' => '',
// Items to disable session caching
'noSessionCache' => array(),
// enable i18n folder name that convert name to elFinderInstance.messages['folder_'+name]
'i18nFolderName' => false,
// Search timeout (sec)
'searchTimeout' => 30,
// Search exclusion directory regex pattern (require demiliter e.g. '#/path/to/exclude_directory#i')
'searchExDirReg' => '',
// library to crypt/uncrypt files names (not implemented)
'cryptLib' => '',
// how to detect files mimetypes. (auto/internal/finfo/mime_content_type)
'mimeDetect' => 'auto',
// mime.types file path (for mimeDetect==internal)
'mimefile' => '',
// Static extension/MIME of general server side scripts to security issues
'staticMineMap' => array(
'php:*' => 'text/x-php',
'pht:*' => 'text/x-php',
'php3:*' => 'text/x-php',
'php4:*' => 'text/x-php',
'php5:*' => 'text/x-php',
'php7:*' => 'text/x-php',
'phtml:*' => 'text/x-php',
'cgi:*' => 'text/x-httpd-cgi',
'pl:*' => 'text/x-perl',
'asp:*' => 'text/x-asap',
'aspx:*' => 'text/x-asap',
'py:*' => 'text/x-python',
'rb:*' => 'text/x-ruby',
'jsp:*' => 'text/x-jsp'
),
// mime type normalize map : Array '[ext]:[detected mime type]' => '[normalized mime]'
'mimeMap' => array(
'md:application/x-genesis-rom' => 'text/x-markdown',
'md:text/plain' => 'text/x-markdown',
'markdown:text/plain' => 'text/x-markdown',
'css:text/x-asm' => 'text/css',
'css:text/plain' => 'text/css',
'csv:text/plain' => 'text/csv',
'java:text/x-c' => 'text/x-java-source',
'json:text/plain' => 'application/json',
'sql:text/plain' => 'text/x-sql',
'rtf:text/rtf' => 'application/rtf',
'rtfd:text/rtfd' => 'application/rtfd',
'ico:image/vnd.microsoft.icon' => 'image/x-icon',
'svg:text/plain' => 'image/svg+xml',
'pxd:application/octet-stream' => 'image/x-pixlr-data',
'dng:image/tiff' => 'image/x-adobe-dng',
'sketch:application/zip' => 'image/x-sketch',
'sketch:application/octet-stream' => 'image/x-sketch',
'xcf:application/octet-stream' => 'image/x-xcf',
'amr:application/octet-stream' => 'audio/amr',
'm4a:video/mp4' => 'audio/mp4',
'oga:application/ogg' => 'audio/ogg',
'ogv:application/ogg' => 'video/ogg',
'zip:application/x-zip' => 'application/zip',
'm3u8:text/plain' => 'application/x-mpegURL',
'mpd:text/plain' => 'application/dash+xml',
'mpd:application/xml' => 'application/dash+xml',
'*:application/x-dosexec' => 'application/x-executable',
'doc:application/vnd.ms-office' => 'application/msword',
'xls:application/vnd.ms-office' => 'application/vnd.ms-excel',
'ppt:application/vnd.ms-office' => 'application/vnd.ms-powerpoint',
'yml:text/plain' => 'text/x-yaml',
'ai:application/pdf' => 'application/postscript',
'cgm:text/plain' => 'image/cgm',
'dxf:text/plain' => 'image/vnd.dxf',
'dds:application/octet-stream' => 'image/vnd-ms.dds',
'hpgl:text/plain' => 'application/vnd.hp-hpgl',
'igs:text/plain' => 'model/iges',
'iges:text/plain' => 'model/iges',
'plt:application/octet-stream' => 'application/plt',
'plt:text/plain' => 'application/plt',
'sat:text/plain' => 'application/sat',
'step:text/plain' => 'application/step',
'stp:text/plain' => 'application/step'
),
// An option to add MimeMap to the `mimeMap` option
// Array '[ext]:[detected mime type]' => '[normalized mime]'
'additionalMimeMap' => array(),
// MIME-Type of filetype detected as unknown
'mimeTypeUnknown' => 'application/octet-stream',
// MIME regex of send HTTP header "Content-Disposition: inline" or allow preview in quicklook
// '.' is allow inline of all of MIME types
// '$^' is not allow inline of all of MIME types
'dispInlineRegex' => '^(?:(?:video|audio)|image/(?!.+\+xml)|application/(?:ogg|x-mpegURL|dash\+xml)|(?:text/plain|application/pdf)$)',
// temporary content URL's base path
'tmpLinkPath' => '',
// temporary content URL's base URL
'tmpLinkUrl' => '',
// directory for thumbnails
'tmbPath' => '.tmb',
// mode to create thumbnails dir
'tmbPathMode' => 0777,
// thumbnails dir URL. Set it if store thumbnails outside root directory
'tmbURL' => '',
// thumbnails size (px)
'tmbSize' => 48,
// thumbnails crop (true - crop, false - scale image to fit thumbnail size)
'tmbCrop' => true,
// thumbnail URL require custom data as the GET query
'tmbReqCustomData' => false,
// thumbnails background color (hex #rrggbb or 'transparent')
'tmbBgColor' => 'transparent',
// image rotate fallback background color (hex #rrggbb)
'bgColorFb' => '#ffffff',
// image manipulations library (imagick|gd|convert|auto|none, none - Does not check the image library at all.)
'imgLib' => 'auto',
// Fallback self image to thumbnail (nothing imgLib)
'tmbFbSelf' => true,
// Video to Image converters ['TYPE or MIME' => ['func' => function($file){ /* Converts $file to Image */ return true; }, 'maxlen' => (int)TransferLength]]
'imgConverter' => array(),
// Max length of transfer to image converter
'tmbVideoConvLen' => 10000000,
// Captre point seccond
'tmbVideoConvSec' => 6,
// Life time (hour) for thumbnail garbage collection ("0" means no GC)
'tmbGcMaxlifeHour' => 0,
// Percentage of garbage collection executed for thumbnail creation command ("1" means "1%")
'tmbGcPercentage' => 1,
// Resource path of fallback icon images defailt: php/resouces
'resourcePath' => '',
// Jpeg image saveing quality
'jpgQuality' => 100,
// Save as progressive JPEG on image editing
'jpgProgressive' => true,
// enable to get substitute image with command `dim`
'substituteImg' => true,
// on paste file - if true - old file will be replaced with new one, if false new file get name - original_name-number.ext
'copyOverwrite' => true,
// if true - join new and old directories content on paste
'copyJoin' => true,
// on upload - if true - old file will be replaced with new one, if false new file get name - original_name-number.ext
'uploadOverwrite' => true,
// mimetypes allowed to upload
'uploadAllow' => array(),
// mimetypes not allowed to upload
'uploadDeny' => array(),
// order to process uploadAllow and uploadDeny options
'uploadOrder' => array('deny', 'allow'),
// maximum upload file size. NOTE - this is size for every uploaded files
'uploadMaxSize' => 0,
// maximum number of chunked upload connection. `-1` to disable chunked upload
'uploadMaxConn' => 3,
// maximum get file size. NOTE - Maximum value is 50% of PHP memory_limit
'getMaxSize' => 0,
// files dates format
'dateFormat' => 'j M Y H:i',
// files time format
'timeFormat' => 'H:i',
// if true - every folder will be check for children folders, -1 - every folder will be check asynchronously, false - all folders will be marked as having subfolders
'checkSubfolders' => true, // true, false or -1
// allow to copy from this volume to other ones?
'copyFrom' => true,
// allow to copy from other volumes to this one?
'copyTo' => true,
// cmd duplicate suffix format e.g. '_%s_' to without spaces
'duplicateSuffix' => ' %s ',
// unique name numbar format e.g. '(%d)' to (1), (2)...
'uniqueNumFormat' => '%d',
// list of commands disabled on this root
'disabled' => array(),
// enable file owner, group & mode info, `false` to inactivate "chmod" command.
'statOwner' => false,
// allow exec chmod of read-only files
'allowChmodReadOnly' => false,
// regexp or function name to validate new file name
'acceptedName' => '/^[^\.].*/', // Notice: overwritten it in some volume drivers contractor
// regexp or function name to validate new directory name
'acceptedDirname' => '', // used `acceptedName` if empty value
// function/class method to control files permissions
'accessControl' => null,
// some data required by access control
'accessControlData' => null,
// root stat that return without asking the system when mounted and not the current volume. Query to the system with false. array|false
'rapidRootStat' => array(
'read' => true,
'write' => true,
'locked' => false,
'hidden' => false,
'size' => 0, // Unknown
'ts' => 0, // Unknown
'dirs' => -1, // Check on demand for subdirectories
'mime' => 'directory'
),
// default permissions.
'defaults' => array(
'read' => true,
'write' => true,
'locked' => false,
'hidden' => false
),
// files attributes
'attributes' => array(),
// max allowed archive files size (0 - no limit)
'maxArcFilesSize' => '2G',
// Allowed archive's mimetypes to create. Leave empty for all available types.
'archiveMimes' => array(),
// Manual config for archivers. See example below. Leave empty for auto detect
'archivers' => array(),
// Use Archive function for remote volume
'useRemoteArchive' => false,
// plugin settings
'plugin' => array(),
// Is support parent directory time stamp update on add|remove|rename item
// Default `null` is auto detection that is LocalFileSystem, FTP or Dropbox are `true`
'syncChkAsTs' => null,
// Long pooling sync checker function for syncChkAsTs is true
// Calls with args (TARGET DIRCTORY PATH, STAND-BY(sec), OLD TIMESTAMP, VOLUME DRIVER INSTANCE, ELFINDER INSTANCE)
// This function must return the following values. Changed: New Timestamp or Same: Old Timestamp or Error: false
// Default `null` is try use elFinderVolumeLocalFileSystem::localFileSystemInotify() on LocalFileSystem driver
// another driver use elFinder stat() checker
'syncCheckFunc' => null,
// Long polling sync stand-by time (sec)
'plStandby' => 30,
// Sleep time (sec) for elFinder stat() checker (syncChkAsTs is true)
'tsPlSleep' => 10,
// Sleep time (sec) for elFinder ls() checker (syncChkAsTs is false)
'lsPlSleep' => 30,
// Client side sync interval minimum (ms)
// Default `null` is auto set to ('tsPlSleep' or 'lsPlSleep') * 1000
// `0` to disable auto sync
'syncMinMs' => null,
// required to fix bug on macos
// However, we recommend to use the Normalizer plugin instead this option
'utf8fix' => false,
// й ё Й Ё Ø Å
'utf8patterns' => array("\u0438\u0306", "\u0435\u0308", "\u0418\u0306", "\u0415\u0308", "\u00d8A", "\u030a"),
'utf8replace' => array("\u0439", "\u0451", "\u0419", "\u0401", "\u00d8", "\u00c5"),
// cache control HTTP headers for commands `file` and `get`
'cacheHeaders' => array(
'Cache-Control: max-age=3600',
'Expires:',
'Pragma:'
),
// Header to use to accelerate sending local files to clients (e.g. 'X-Sendfile', 'X-Accel-Redirect')
'xsendfile' => '',
// Root path to xsendfile target. Probably, this is required for 'X-Accel-Redirect' on Nginx.
'xsendfilePath' => ''
)
|
protected
array
|
$defaults
Defaults permissions |
#
array(
'read' => true,
'write' => true,
'locked' => false,
'hidden' => false
)
|
protected
mixed
|
$attributes
Access control function/class |
#
array()
|
protected
mixed
|
$access
Access control function/class |
#
null
|
protected
array
|
$uploadAllow
Mime types allowed to upload |
#
array()
|
protected
array
|
$uploadDeny
Mime types denied to upload |
#
array()
|
protected
array
|
$uploadOrder
Order to validate uploadAllow and uploadDeny |
#
array()
|
protected
integer|string
|
$uploadMaxSize
Maximum allowed upload file size. Set as number or string with unit - "10M", "500K", "1G" |
#
0
|
protected
string
|
$uploadOverwrite
Run time setting of overwrite items on upload |
#
true
|
protected
integer|string
|
$getMaxSize
Maximum allowed get file size. Set as number or string with unit - "10M", "500K", "1G" |
#
-1
|
protected
string
|
$mimeDetect
Mimetype detect method |
#
'auto'
|
protected
resource
|
$finfo
Finfo resource for mimeDetect == 'finfo' |
#
null
|
protected
array
|
$disabled
List of disabled client's commands |
#
array()
|
protected static
array
|
$mimetypes
overwrite extensions/mimetypes to mime.types |
#
array(
// applications
'exe' => 'application/x-executable',
'jar' => 'application/x-jar',
// archives
'gz' => 'application/x-gzip',
'tgz' => 'application/x-gzip',
'tbz' => 'application/x-bzip2',
'rar' => 'application/x-rar',
// texts
'php' => 'text/x-php',
'js' => 'text/javascript',
'rtfd' => 'application/rtfd',
'py' => 'text/x-python',
'rb' => 'text/x-ruby',
'sh' => 'text/x-shellscript',
'pl' => 'text/x-perl',
'xml' => 'text/xml',
'c' => 'text/x-csrc',
'h' => 'text/x-chdr',
'cpp' => 'text/x-c++src',
'hh' => 'text/x-c++hdr',
'md' => 'text/x-markdown',
'markdown' => 'text/x-markdown',
'yml' => 'text/x-yaml',
// images
'bmp' => 'image/x-ms-bmp',
'tga' => 'image/x-targa',
'xbm' => 'image/xbm',
'pxm' => 'image/pxm',
//audio
'wav' => 'audio/wav',
// video
'dv' => 'video/x-dv',
'wm' => 'video/x-ms-wmv',
'ogm' => 'video/ogg',
'm2ts' => 'video/MP2T',
'mts' => 'video/MP2T',
'ts' => 'video/MP2T',
'm3u8' => 'application/x-mpegURL',
'mpd' => 'application/dash+xml'
)
|
protected
string
|
$separator
Directory separator - required by client |
#
DIRECTORY_SEPARATOR
|
protected
string
|
$separatorForHash
Directory separator for decode/encode hash |
#
''
|
protected
string
|
$systemRoot
System Root path (Unix like: '/', Windows: '\', 'C:\' or 'D:\'...) |
#
DIRECTORY_SEPARATOR
|
protected
array
|
$onlyMimes
Mimetypes allowed to display |
#
array()
|
protected
array
|
$removed
Store files moved or overwrited files info |
#
array()
|
protected
array
|
$added
Store files added files info |
#
array()
|
protected
array
|
$cache
Cache storage |
#
array()
|
protected
array
|
$dirsCache
Cache by folders |
#
array()
|
protected
array
|
$subdirsCache
You should use |
#
array()
|
protected
array
|
$sessionCache
This volume session cache |
|
protected
array
|
$sessionCaching
Session caching item list |
#
array('rootstat' => true, 'subdirs' => true)
|
protected
|
$session
elFinder session wrapper object |
|
protected
integer
|
$searchStart
Search start time |
|
protected
array
|
$doSearchCurrentQuery
Current query word on doSearch |
#
array()
|
protected
boolean
|
$rootModified
Is root modified (for clear root stat cache) |
#
false
|
protected
string
|
$disabledGetUrl
Is disable of command |
#
false
|
protected
string
|
$nameValidator
Accepted filename validator |
|
protected
string
|
$dirnameValidator
Accepted dirname validator |
|
protected
boolean
|
$needOnline
This request require online state |