60 return is_file( $this->path );
69 return filesize( $this->path );
78 Wikimedia\suppressWarnings();
79 $timestamp = filemtime( $this->path );
80 Wikimedia\restoreWarnings();
81 if ( $timestamp !==
false ) {
107 $info[
'fileExists'] = $this->
exists();
109 if ( $info[
'fileExists'] ) {
110 $info[
'size'] = $this->
getSize();
113 $mime = mime_content_type( $this->path );
114 # MIME type according to file contents
117 $info[
'mime'] =
$mime;
119 if ( strpos(
$mime,
'/' ) !==
false ) {
120 list( $info[
'major_mime'], $info[
'minor_mime'] ) = explode(
'/',
$mime, 2 );
122 list( $info[
'major_mime'], $info[
'minor_mime'] ) = [
$mime,
'unknown' ];
145 $info[
'fileExists'] =
false;
147 $info[
'file-mime'] =
null;
148 $info[
'major_mime'] =
null;
149 $info[
'minor_mime'] =
null;
150 $info[
'mime'] =
null;
167 if ( $this->sha1Base36 !==
null && !$recache ) {
171 Wikimedia\suppressWarnings();
172 $this->sha1Base36 = sha1_file( $this->path );
173 Wikimedia\restoreWarnings();
175 if ( $this->sha1Base36 !==
false ) {
176 $this->sha1Base36 = Wikimedia\base_convert( $this->sha1Base36, 16, 36, 31 );
189 $i = strrpos( $path,
'.' );
191 return strtolower( $i ? substr( $path, $i + 1 ) :
'' );
203 $fsFile =
new self(
$path );
205 return $fsFile->getProps(
$ext );
219 $fsFile =
new self(
$path );
221 return $fsFile->getSha1Base36();
wfTimestamp( $outputtype=TS_UNIX, $ts=0)
Get a timestamp string in one of various formats.
Class representing a non-directory file on the file system.
static getSha1Base36FromPath( $path)
Get a SHA-1 hash of a file in the local filesystem, in base-36 lower case encoding,...
static getPropsFromPath( $path, $ext=true)
Get an associative array containing information about a file in the local filesystem.
exists()
Checks if the file exists.
getTimestamp()
Get the file's last-modified timestamp.
getProps( $ext=true)
Get an associative array containing information about a file with the given storage path.
__construct( $path)
Sets up the file object.
string $sha1Base36
File SHA-1 in base 36.
getSize()
Get the file size in bytes.
getSha1Base36( $recache=false)
Get a SHA-1 hash of a file in the local filesystem, in base-36 lower case encoding,...
static placeholderProps()
Placeholder file properties to use for files that don't exist.
string $path
Path to file.
static extensionFromPath( $path)
Get the final file extension from a file system path.
getPath()
Returns the file system path.
deferred txt A few of the database updates required by various functions here can be deferred until after the result page is displayed to the user For updating the view updating the linked to tables after a etc PHP does not yet have any way to tell the server to actually return and disconnect while still running these but it might have such a feature in the future We handle these by creating a deferred update object and putting those objects on a global list
processing should stop and the error should be shown to the user * false
if( $ext=='php'|| $ext=='php5') $mime
if(!is_readable( $file)) $ext