Вход Регистрация
Файл: www/gm/http.php
Строк: 132
<?php
// encoding = 'utf-8'
/**
 * 
 * This software is distributed under the GNU LGPL v3.0 license.
 * @author Gemorroj
 * @copyright 2008-2010 http://wapinet.ru
 * @license http://www.gnu.org/licenses/lgpl-3.0.txt
 * @link http://wapinet.ru/gmanager/
 * @version 0.7.3
 * 
 * PHP version >= 5.2.1
 * 
 */


$GLOBALS['mode'] = new http;
$GLOBALS['class'] = 'http';


class 
http
{
    static private 
$stat = array();
    static private 
$uid  = array();


    public function 
mkdir($dir = '', $chmod = '0755')
    {
        
settype($chmod, 'string');
        
$strlen = strlen($chmod);
        if (!
is_numeric($chmod) || ($strlen != 3 && $strlen != 4)) {
            
// return false;
            
$chmod = '0755';
        }
        if (
$strlen == 3) {
            
$chmod = '0' . $chmod;
        }

        
$chmod = decoct(octdec(intval($chmod)));
        
$result = @mkdir($dir, $chmod, true);
        if (
$result) {
            
$this->chmod($dir, $chmod);
        }
        return 
$result;
    }


    public function 
chmod($file = '', $chmod = '0755')
    {
        
/*
        if (PHP_OS == 'WIN32') {
            trigger_error($GLOBALS['lng']['win_chmod']);
            return false;
        }
        */

        
settype($chmod, 'string');
        
$strlen = strlen($chmod);
        if (!
is_numeric($chmod) || ($strlen != 3 && $strlen != 4)) {
            return 
false;
        }

        if (
$strlen == 3) {
            
$chmod = '0' . $chmod;
        }

        return @
chmod($file, octdec(intval($chmod)));
    }


    public function 
file_get_contents($str = '')
    {
        return 
file_get_contents($str);
    }


    public function 
file_put_contents($file = '', $data = '')
    {
        if (!
$f = @fopen($file, 'a')) {
            return 
0;
        }

        
ftruncate($f, 0);

        if (
$data != '') {
            
fputs($f, $data);
        }

        
fclose($f);

        return 
1;
    }


    public function 
is_dir($str = '')
    {
        return @
is_dir($str);
    }


    public function 
is_file($str = '')
    {
        return 
is_file($str);
    }


    public function 
is_link($str = '')
    {
        return 
is_link($str);
    }


    public function 
is_readable($str = '')
    {
        return 
is_readable($str);
    }


    public function 
is_writable($str = '')
    {
        return 
is_writable($str);
    }


    public function 
stat($str = '')
    {
        if (!isset(
self::$stat[$str])) {
            
self::$stat[$str] = @stat($str);
        }

        if (isset(
self::$uid[self::$stat[$str][4]])) {
            
self::$stat[$str]['name'] = self::$uid[self::$stat[$str][4]];
        } else {
            if (
function_exists('posix_getpwuid') && $uid = @posix_getpwuid(self::$stat[$str][4])) {
                
self::$stat[$str]['name'] = self::$uid[self::$stat[$str][4]] = $uid['name'];
            } else if (@
exec('id -p ' . self::$stat[$str][4], $row)) {
                
$row = explode("t", $row[0]);
                
self::$stat[$str]['name'] = self::$uid[self::$stat[$str][4]] = $row[1];
            } else {
                
self::$stat[$str]['name'] = self::$uid[self::$stat[$str][4]] = self::$stat[$str][4];
            }
        }
        return 
self::$stat[$str];
    }


    public function 
fileperms($str = '')
    {
        if (!isset(
self::$stat[$str][2])) {
            
self::$stat[$str] = @stat($str);
        }
        return 
self::$stat[$str][2];
        
//return fileperms($str);
    
}


    public function 
filesize($str = '')
    {
        if (!isset(
self::$stat[$str][7])) {
            
self::$stat[$str] = stat($str);
        }
        return 
self::$stat[$str][7];
        
//return sprintf('%u', filesize($str));
    
}


    public function 
filemtime($str = '')
    {
        if (!isset(
self::$stat[$str][9])) {
            
self::$stat[$str] = stat($str);
        }
        return 
self::$stat[$str][9];
        
//return filemtime($str);
    
}


    public function 
readlink($str = '')
    {
        
chdir($GLOBALS['current']);
        return array(
            
basename($str),
            
realpath(readlink($str))
        );
    }


    public function 
file_exists($str = '')
    {
        return 
file_exists($str);
    }


    public function 
unlink($str = '')
    {
        return 
unlink($str);
    }


    public function 
rename($from = '', $to = '')
    {
        return 
rename($from, $to);
    }


    public function 
copy($from = '', $to = '', $chmod = '0644')
    {
        if (
$result = @copy($from, $to)) {
            
$this->chmod($to, $chmod);
        }
        return 
$result;
    }


    public function 
rmdir($str = '')
    {
        return 
rmdir($str);
    }


    public function 
getcwd()
    {
        return 
getcwd();
    }


    public function 
iterator($str = '')
    {
        return 
array_diff(scandir($str, 0), array('.', '..'));
    }
}

?>
Онлайн: 2
Реклама