MediaWiki  1.23.2
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...
 
 getMimeType ()
 Guess the MIME type from the file contents alone. 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 Member Functions

 extractImageSizeInfo (array $gis)
 Exract image size information. 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

Definition at line 39 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 57 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 229 of file FSFile.php.

References $path.

Referenced by getProps().

◆ extractImageSizeInfo()

FSFile::extractImageSizeInfo ( array  $gis)
protected

Exract image size information.

Parameters
array$gis
Returns
array

Definition at line 177 of file FSFile.php.

References array().

Referenced by getProps().

◆ getMimeType()

FSFile::getMimeType ( )

Guess the MIME type from the file contents alone.

Returns
string

Reimplemented in MockFSFile.

Definition at line 91 of file FSFile.php.

Referenced by getProps().

◆ getPath()

FSFile::getPath ( )

Returns the file system path.

Returns
String

Definition at line 48 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.

Parameters
mixed$extThe file extension, or true to extract it from the filename. Set it to false to ignore the extension.
Returns
array

Reimplemented in MockFSFile.

Definition at line 104 of file FSFile.php.

References $ext, array(), exists(), extensionFromPath(), extractImageSizeInfo(), MediaHandler\getHandler(), getMimeType(), getSha1Base36(), getSize(), list, object, placeholderProps(), File\splitMime(), wfDebug(), wfProfileIn(), and wfProfileOut().

Referenced by File\getPropsFromPath().

◆ 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
mixed$extThe file extension, or true to extract it from the filename. Set it to false to ignore the extension.
Returns
array

Definition at line 243 of file FSFile.php.

References $ext, and $path.

Referenced by FileBackendTest\doTestStore(), RepoGroup\getFileProps(), UploadStash\stashFile(), LocalFile\upload(), UploadBase\verifyFile(), and UploadBase\verifyPartialFile().

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

References $sha1Base36, wfBaseConvert(), wfProfileIn(), wfProfileOut(), wfRestoreWarnings(), and wfSuppressWarnings().

Referenced by getProps(), and File\sha1Base36().

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

References $path.

Referenced by ApiTestCaseUpload\deleteFileByContent(), and UploadBase\getTempFileSha1Base36().

◆ getSize()

FSFile::getSize ( )

Get the file size in bytes.

Returns
int|bool

Reimplemented in MockFSFile.

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

References $timestamp, TS_MW, wfRestoreWarnings(), wfSuppressWarnings(), and wfTimestamp().

◆ placeholderProps()

static FSFile::placeholderProps ( )
static

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

Returns
array

Definition at line 157 of file FSFile.php.

References array(), and MEDIATYPE_UNKNOWN.

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

Member Data Documentation

◆ $path

string FSFile::$path
protected

Path to file *.

Definition at line 30 of file FSFile.php.

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

◆ $sha1Base36

string FSFile::$sha1Base36
protected

File SHA-1 in base 36 *.

Definition at line 32 of file FSFile.php.

Referenced by getSha1Base36().


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