public function getFileInfo(string $cabin = '', array $path = [], string $filename = '') : array
{
if (empty($path)) {
$fileInfo = $this->db->row('SELECT
*
FROM
airship_files
WHERE
directory IS NULL
AND cabin = ?
AND filename = ?
', $cabin, $filename);
} else {
$fileInfo = $this->db->row('SELECT
*
FROM
airship_files
WHERE
directory = ?
AND filename = ?
', $this->getDirectoryId($cabin, $path), $filename);
}
if (empty($fileInfo)) {
throw new FileNotFound();
}
// Only printable ASCII characters are permitted in this header:
$fileInfo['type'] = \preg_replace('#[^\\x20-\\x7e/]#', '', $fileInfo['type']);
return $fileInfo;
}