This is an old revision of the document!
Table of Contents
DownloadUtility
Layer: Utility · Source: lib/utility/download-handler.php:16 (lines 16–208)
class DownloadUtility
Core utility class for handling file downloads
Docblock Metadata
^ Tag ^ Value ^ | ''@category'' | Utility Class | | ''@author'' | M.Noermoehammad | | ''@license'' | MIT | | ''@version'' | 1.0 | | ''@since'' | Since Release 1.0 |
Inheritance
No parent, interface or trait. This is a root type.
Constants (2)
^ Visibility ^ Name ^ Value ^ Line ^ | ''-'' | ''CHUNK_SIZE'' | ''8192;'' | 18 | | ''-'' | ''DEFAULT_EXPIRY'' | ''28800;'' | 19 |
Properties (0)
None declared.
Methods (9)
^ Visibility ^ Method ^ Summary ^ Line ^ | public static | ''setDownloadHeaders()'' | Set download headers for file delivery | 29 | | public static | ''validateDownloadRequest()'' | Validate download request by identifier | 45 | | public static | ''isHotlinkingAllowed()'' | Check if hotlinking is allowed based on referer | 57 | | public static | ''isMimeTypeAllowed()'' | Check if MIME type is allowed based on settings | 77 | | public static | ''deliverFile()'' | Deliver file to client with streaming | 91 | | public static | ''getMimeType()'' | Get MIME type of a file | 117 | | public static | ''sanitizeFilePath()'' | Sanitize file path to prevent traversal attacks | 143 | | public static | ''isExpired()'' | Check if download link has expired | 164 | | private static | ''getMimeTypeDictionary()'' | Get basic MIME type dictionary | 174 |
setDownloadHeaders()
public static function setDownloadHeaders($filename, $mimeType, $filesize)
lines 29–37 (9)
Set download headers for file delivery
^ Parameter ^ Type ^ Default ^ Description ^ | ''$filename'' | ''(untyped)'' | //required// | //none// | | ''$mimeType'' | ''(untyped)'' | //required// | //none// | | ''$filesize'' | ''(untyped)'' | //required// | //none// |
Returns: (none declared) — void
validateDownloadRequest()
public static function validateDownloadRequest($identifier)
lines 45–48 (4)
Validate download request by identifier
^ Parameter ^ Type ^ Default ^ Description ^ | ''$identifier'' | ''(untyped)'' | //required// | //none// |
Returns: (none declared) — bool
isHotlinkingAllowed()
public static function isHotlinkingAllowed($referer, $allowedDomains = [])
lines 57–69 (13)
Check if hotlinking is allowed based on referer
^ Parameter ^ Type ^ Default ^ Description ^ | ''$referer'' | ''(untyped)'' | //required// | //none// | | ''$allowedDomains'' | ''(untyped)'' | ''[]'' | //none// |
Returns: (none declared) — bool
isMimeTypeAllowed()
public static function isMimeTypeAllowed($mimeType)
lines 77–81 (5)
Check if MIME type is allowed based on settings
^ Parameter ^ Type ^ Default ^ Description ^ | ''$mimeType'' | ''(untyped)'' | //required// | //none// |
Returns: (none declared) — bool
deliverFile()
public static function deliverFile($filepath, $filename, $mimeType)
lines 91–109 (19)
Deliver file to client with streaming
^ Parameter ^ Type ^ Default ^ Description ^ | ''$filepath'' | ''(untyped)'' | //required// | //none// | | ''$filename'' | ''(untyped)'' | //required// | //none// | | ''$mimeType'' | ''(untyped)'' | //required// | //none// |
Returns: (none declared) — void
getMimeType()
public static function getMimeType($filepath)
lines 117–135 (19)
Get MIME type of a file
^ Parameter ^ Type ^ Default ^ Description ^ | ''$filepath'' | ''(untyped)'' | //required// | //none// |
Returns: (none declared) — string
sanitizeFilePath()
public static function sanitizeFilePath($filename)
lines 143–156 (14)
Sanitize file path to prevent traversal attacks
^ Parameter ^ Type ^ Default ^ Description ^ | ''$filename'' | ''(untyped)'' | //required// | //none// |
Returns: (none declared) — string|false
isExpired()
public static function isExpired($beforeExpired)
lines 164–167 (4)
Check if download link has expired
^ Parameter ^ Type ^ Default ^ Description ^ | ''$beforeExpired'' | ''(untyped)'' | //required// | //none// |
Returns: (none declared) — bool
getMimeTypeDictionary()
private static function getMimeTypeDictionary()
lines 174–207 (34)
Get basic MIME type dictionary
Takes no parameters.
Returns: (none declared) — array
This page is generated from source by 'tools/gendoc'. Edits will be overwritten.
