Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
Downloads
/
vfm-admin
/
class
:
class.file.php
Voltar
Back Up
Advanced Editor
Save
<?php /** * Hold the information about single file in the list * * @category PHP * @package VenoFileManager * @author Nicola Franchini <info@veno.it> * @license Exclusively sold on CodeCanyon * @link http://filemanager.veno.it/ */ if (!class_exists('File', false)) { /** * File class * * @category PHP * @package VenoFileManager * @author Nicola Franchini <info@veno.it> * @license Exclusively sold on CodeCanyon * @link http://filemanager.veno.it/ */ class File { public $name; public $location; public $size; public $type; public $modTime; public $relative; /** * Constructor * * @param string $name path name * @param string $location current location * @param string $relative relative path * * @return all file data */ public function __construct($name, $location, $relative = '') { $this->name = $name; // $this->name = iconv(mb_detect_encoding($name, mb_detect_order(), true), "UTF-8", $name); $this->location = $location; $this->relative = $relative; } /** * Get name * * @return name */ public function getName() { return $this->name; } /** * Get name encoded * * @return name urlencoded */ public function getNameEncoded() { return rawurlencode($this->name); } /** * Get name html formatted * * @return HTML name */ public function getNameHtml() { return htmlspecialchars($this->name); } /** * Get file size * * @return size */ public function getSize() { // return $this->size; return Utils::getFileSize($this->location->getDir(true, false, false, 0, $this->relative).$this->name); } /** * Get type * * @return file type */ public function getType() { // return $this->type; return Utils::getFileExtension($this->location->getDir(true, false, false, 0, $this->relative).$this->name); } /** * Get time * * @return mod time */ public function getModTime() { // return $this->modTime; return filemtime($this->location->getDir(true, false, false, 0, $this->relative).$this->name); } /** * Check if file is image * * @return true/false */ public function isImage() { $types = array( 'jpg', 'jpeg', 'gif', 'png', 'webp', ); $type = strtolower($this->getType()); if (in_array($type, $types)) { return true; } return false; } /** * Check if file is audio playable * * @return true/false */ public function isAudio() { $types = array( 'mp3', 'wav', 'flac', 'aac', ); $type = strtolower($this->getType()); if (in_array($type, $types)) { return true; } return false; } /** * Check if file is video playable * * @return true/false */ public function isVideo() { $types = array( 'mp4', 'webm', 'ogg', 'ogv', // 'flv', ); $type = strtolower($this->getType()); if (in_array($type, $types)) { return true; } return false; } /** * Check if file is a pdf * * @return true/false */ public function isPdf() { if (strtolower($this->getType()) == 'pdf') { return true; } return false; } /** * Check if file is valid for creating thumbnail * * @return true/false */ public function isValidForThumb() { global $setUp; if ($setUp->getConfig('thumbnails') !== true && $setUp->getConfig('inline_thumbs') !== true) { return false; } if ($this->isImage() || ($this->isPdf() && ImageServer::isEnabledPdf()) ) { return true; } return false; } /** * Check if file is valid for playing audio * * @return true/false */ public function isValidForAudio() { global $setUp; if ($setUp->getConfig('playmusic') == true && $this->isAudio() ) { return true; } return false; } /** * Check if file is valid for playing video * * @return true/false */ public function isValidForVideo() { global $setUp; if ($setUp->getConfig('playvideo') == true && $this->isVideo() ) { return true; } return false; } } }