MediaWiki fundraising/REL1_35
FSFile Class Reference

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

Inheritance diagram for FSFile:

Public Member Functions

 __construct ( $path)
 Sets up the file object.
 
 exists ()
 Checks if the file exists.
 
 getPath ()
 Returns the file system path.
 
 getProps ( $ext=true)
 Get an associative array containing information about a file with the given storage path.
 
 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.
 
 getSize ()
 Get the file size in bytes.
 
 getTimestamp ()
 Get the file's last-modified timestamp.
 

Static Public Member Functions

static extensionFromPath ( $path)
 Get the final file extension from a file system path.
 
static getPropsFromPath ( $path, $ext=true)
 Get an associative array containing information about a file in the local filesystem.
 
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.
 
static placeholderProps ()
 Placeholder file properties to use for files that don't exist.
 

Protected Attributes

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

Detailed Description

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

Definition at line 32 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 44 of file FSFile.php.

References $path.

Member Function Documentation

◆ exists()

FSFile::exists ( )

Checks if the file exists.

Returns
bool

Definition at line 62 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 195 of file FSFile.php.

References $path.

◆ getPath()

FSFile::getPath ( )

Returns the file system path.

Returns
string

Definition at line 53 of file FSFile.php.

References $path.

◆ 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

Definition at line 112 of file FSFile.php.

References $mime, exists(), getSha1Base36(), getSize(), 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 209 of file FSFile.php.

References $ext, and $path.

◆ 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

Definition at line 173 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 225 of file FSFile.php.

References $path.

Referenced by ImportImages\execute(), UploadBase\getTempFileSha1Base36(), and LocalFile\publishTo().

◆ getSize()

FSFile::getSize ( )

Get the file size in bytes.

Returns
int|bool

Definition at line 71 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

Definition at line 84 of file FSFile.php.

◆ 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 150 of file FSFile.php.

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

Member Data Documentation

◆ $path

string FSFile::$path
protected

Path to file.

Definition at line 34 of file FSFile.php.

Referenced by __construct(), extensionFromPath(), getPath(), getPropsFromPath(), and getSha1Base36FromPath().

◆ $sha1Base36

string FSFile::$sha1Base36
protected

File SHA-1 in base 36.

Definition at line 37 of file FSFile.php.

Referenced by getSha1Base36().


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