MediaWiki  1.33.1
FSFile Class Reference

Class representing a non-directory file on the file system. More...

Inheritance diagram for FSFile:
Collaboration diagram for FSFile:

Public Member Functions

 __construct ( $path)
 Sets up the file object. More...
 
 exists ()
 Checks if the file exists. More...
 
 getPath ()
 Returns the file system path. More...
 
 getProps ( $ext=true)
 Get an associative array containing information about a file with the given storage path. More...
 
 getSha1Base36 ( $recache=false)
 Get a SHA-1 hash of a file in the local filesystem, in base-36 lower case encoding, zero padded to 31 digits. More...
 
 getSize ()
 Get the file size in bytes. More...
 
 getTimestamp ()
 Get the file's last-modified timestamp. More...
 

Static Public Member Functions

static extensionFromPath ( $path)
 Get the final file extension from a file system path. More...
 
static getPropsFromPath ( $path, $ext=true)
 Get an associative array containing information about a file in the local filesystem. More...
 
static getSha1Base36FromPath ( $path)
 Get a SHA-1 hash of a file in the local filesystem, in base-36 lower case encoding, zero padded to 31 digits. More...
 
static placeholderProps ()
 Placeholder file properties to use for files that don't exist. More...
 

Protected Attributes

string $path
 Path to file. More...
 
string $sha1Base36
 File SHA-1 in base 36. More...
 

Detailed Description

Class representing a non-directory file on the file system.

Definition at line 29 of file FSFile.php.

Constructor & Destructor Documentation

◆ __construct()

FSFile::__construct (   $path)

Sets up the file object.

Parameters
string$pathPath to temporary file on local disk

Reimplemented in TempFSFile.

Definition at line 41 of file FSFile.php.

References $path.

Member Function Documentation

◆ exists()

FSFile::exists ( )

Checks if the file exists.

Returns
bool

Reimplemented in MockFSFile.

Definition at line 59 of file FSFile.php.

Referenced by getProps().

◆ extensionFromPath()

static FSFile::extensionFromPath (   $path)
static

Get the final file extension from a file system path.

Parameters
string$path
Returns
string

Definition at line 188 of file FSFile.php.

References $path.

◆ getPath()

FSFile::getPath ( )

Returns the file system path.

Returns
string

Definition at line 50 of file FSFile.php.

References $path.

Referenced by File\getThumbnailSource().

◆ getProps()

FSFile::getProps (   $ext = true)

Get an associative array containing information about a file with the given storage path.

Resulting array fields include:

  • fileExists
  • size (filesize in bytes)
  • mime (as major/minor)
  • file-mime (as major/minor)
  • sha1 (in base 36)
  • major_mime
  • minor_mime
Parameters
string | bool$extThe file extension, or true to extract it from the filename. Set it to false to ignore the extension. Currently unused.
Returns
array

Reimplemented in MockFSFile.

Definition at line 105 of file FSFile.php.

References exists(), false, getSha1Base36(), getSize(), list, and placeholderProps().

◆ getPropsFromPath()

static FSFile::getPropsFromPath (   $path,
  $ext = true 
)
static

Get an associative array containing information about a file in the local filesystem.

Parameters
string$pathAbsolute local filesystem path
string | bool$extThe file extension, or true to extract it from the filename. Set it to false to ignore the extension.
Returns
array

Definition at line 202 of file FSFile.php.

References $ext, and $path.

Referenced by FileBackendTest\doTestStore().

◆ getSha1Base36()

FSFile::getSha1Base36 (   $recache = false)

Get a SHA-1 hash of a file in the local filesystem, in base-36 lower case encoding, zero padded to 31 digits.

160 log 2 / log 36 = 30.95, so the 160-bit hash fills 31 digits in base 36 fairly neatly.

Parameters
bool$recache
Returns
bool|string False on failure

Reimplemented in MockFSFile.

Definition at line 166 of file FSFile.php.

References $sha1Base36.

Referenced by getProps().

◆ getSha1Base36FromPath()

static FSFile::getSha1Base36FromPath (   $path)
static

Get a SHA-1 hash of a file in the local filesystem, in base-36 lower case encoding, zero padded to 31 digits.

160 log 2 / log 36 = 30.95, so the 160-bit hash fills 31 digits in base 36 fairly neatly.

Parameters
string$path
Returns
bool|string False on failure

Definition at line 218 of file FSFile.php.

References $path.

Referenced by ApiUploadTestCase\deleteFileByContent(), ImportImages\execute(), and LocalFile\publishTo().

◆ getSize()

FSFile::getSize ( )

Get the file size in bytes.

Returns
int|bool

Reimplemented in MockFSFile.

Definition at line 68 of file FSFile.php.

Referenced by getProps().

◆ getTimestamp()

FSFile::getTimestamp ( )

Get the file's last-modified timestamp.

Returns
string|bool TS_MW timestamp or false on failure

Reimplemented in MockFSFile.

Definition at line 77 of file FSFile.php.

References wfTimestamp().

◆ placeholderProps()

static FSFile::placeholderProps ( )
static

Placeholder file properties to use for files that don't exist.

Resulting array fields include:

  • fileExists
  • size (filesize in bytes)
  • mime (as major/minor)
  • file-mime (as major/minor)
  • sha1 (in base 36)
  • major_mime
  • minor_mime
Returns
array

Definition at line 143 of file FSFile.php.

Referenced by FileBackendStore\getFileProps(), getProps(), and MWFileProps\newPlaceholderProps().

Member Data Documentation

◆ $path

◆ $sha1Base36

string FSFile::$sha1Base36
protected

File SHA-1 in base 36.

Definition at line 34 of file FSFile.php.

Referenced by getSha1Base36().


The documentation for this class was generated from the following file: