Вход Регистрация
Файл: engine/classes/Files.php
Строк: 55
<?php
    
   
/**
    * @author Tadochi aka Patsifist <Tadochi@spaces.ru>
    * @class Files 
    * @version 0.1
    * Класс для работы с файлами и папками
    */

    
Class files
    
{
        public
            
$is_dir// true если папка
            //$action, // get_data, clean_dir, delete_dir, reanme
            
$link// Ссылка на объект
        
public $size 0// Размер файла или папки
        
public $files  0// Количество файлов в папке
        
public $dirs 0;  // Количество папок в папке

        
public function __construct($link$action false)
        {
            
$this->link $link;
            
$this->action $action;
            
// $this->is_dir = is_dir($this->link);
            
if (is_dir($link))
            {
                
$this->link $link . (substr($link, -1) != '/' '/' null);
                
$this->is_dir true;
            }

            if (!
is_file($link) && !$this->is_dir)
            {
                
trigger_error('<b>Warning</b>: '.$link ' not found'E_USER_ERROR);
            }

            if (
$action)
            {
                
$this->$action($link);
            }
        }

        public function 
description()
        {
            if (
$this->is_dir)
                return
                    
'Информация о папке ' basename($this->link) . ' (' $this->link ')' 
                    
'<br />Размер в байтах: ' $this->size 
                    
'<br />Папок: ' $this->dirs '<br />
                    Файлов: ' 
$this->files ;
            else
                return
                    
'Информация о файле ' basename($this->link) . ' (' $this->link ')'.
                    
'<br />Размер в байтах: ' filesize($this->link) . 
                    
'<br />Расширение: 'pathinfo($this->linkPATHINFO_EXTENSION);
        }

        public function 
get_data($link)
        {
            if (
is_dir($link))
            {
                
$dir opendir($link);
                while(
$file readdir($dir))
                {
                    if (
$file == '.' || $file == '..')
                    {
                        continue;
                    }

                    if (
is_dir($link $file))
                    {
                        
$this->dirs += 1;
                        
$this->get_data($link $file '/');
                    }
                    else
                    {
                        
$this->files += 1;
                        
$this->size += filesize($link $file);
                    }
                }
            }
        }
    }
Онлайн: 2
Реклама