Вход Регистрация
Файл: lib/HTTP.php
Строк: 199
<?php
/**
 * 
 * This software is distributed under the GNU GPL v3.0 license.
 * @author Gemorroj
 * @copyright 2008-2011 http://wapinet.ru
 * @license http://www.gnu.org/licenses/gpl-3.0.txt
 * @link http://wapinet.ru/gmanager/
 * @version 0.8 beta
 * 
 * PHP version >= 5.2.1
 * 
 */


class HTTP extends Gmanager
{
    static private 
$_stat   = array();
    static private 
$_id     = array();


    public function 
__construct ()
    {
        
Registry::set('sysType'strtoupper(substr(PHP_OS03)) == 'WIN' 'WIN' 'NIX');
    }


    
/**
     * Valid chmod
     * 
     * @param mixed $chmod
     * @return int
     */
    
private function _chmoder ($chmod)
    {
        if (!
is_int($chmod)) {
            
$strlen strlen($chmod);

            if ((
$strlen != && $strlen != 4) || !is_numeric($chmod)) {
                return 
false;
            } else if (
$strlen == 3) {
                
$chmod '0' $chmod;
            }
            
$chmod octdec($chmod);
        }
        return 
$chmod;
    }


    
/**
     * mkdir
     * 
     * @param string $dir
     * @param mixed $chmod
     * @return bool
     */
    
public function mkdir ($dir$chmod 0755)
    {
        return @
mkdir(IOWrapper::set($dir), $this->_chmoder($chmod), true);
    }


    
/**
     * chmod
     * 
     * @param string $file
     * @param mixed $chmod
     * @return bool
     */
    
public function chmod ($file$chmod 0755)
    {
        if (
Registry::get('sysType') == 'WIN') {
            
//trigger_error(Language::get('win_chmod'));
            
return true;
        }

        return @
chmod(IOWrapper::set($file), $this->_chmoder($chmod));
    }


    
/**
     * file_get_contents
     * 
     * @param string $file
     * @return string
     */
    
public function file_get_contents ($file)
    {
        return 
file_get_contents(IOWrapper::set($file));
    }


    
/**
     * file_put_contents
     * 
     * @param string $file
     * @param string $data
     * @return int (0 or 1)
     */
    
public function file_put_contents ($file$data '')
    {
        if (!
$f = @fopen(IOWrapper::set($file), 'a')) {
            return 
0;
        }

        
ftruncate($f0);

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

        
fclose($f);

        return 
1;
    }


    
/**
     * is_dir
     * 
     * @param string $str
     * @return bool
     */
    
public function is_dir ($str)
    {
        return 
is_dir(IOWrapper::set($str));
    }


    
/**
     * is_file
     * 
     * @param string $str
     * @return bool
     */
    
public function is_file ($str)
    {
        return 
is_file(IOWrapper::set($str));
    }


    
/**
     * is_link
     * 
     * @param string $str
     * @return bool
     */
    
public function is_link ($str)
    {
        return 
is_link(IOWrapper::set($str));
    }


    
/**
     * is_readable
     * 
     * @param string $str
     * @return bool
     */
    
public function is_readable ($str)
    {
        return 
is_readable(IOWrapper::set($str));
    }


    
/**
     * is_writable
     * 
     * @param string $str
     * @return bool
     */
    
public function is_writable ($str)
    {
        return 
is_writable(IOWrapper::set($str));
    }


    
/**
     * stat
     * 
     * @param string $str
     * @return array
     */
    
public function stat ($str)
    {
        
$str IOWrapper::set($str);

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

        if (isset(
self::$_id[self::$_stat[$str]['uid']])) {
            
self::$_stat[$str]['owner'] = self::$_id[self::$_stat[$str]['uid']];
        } else {
            
self::$_stat[$str]['owner'] = self::$_id[self::$_stat[$str]['uid']] = Gmanager::id2name(self::$_stat[$str]['uid']);
        }

        if (isset(
self::$_id[self::$_stat[$str]['gid']])) {
            
self::$_stat[$str]['group'] = self::$_id[self::$_stat[$str]['gid']];
        } else {
            
self::$_stat[$str]['group'] = self::$_id[self::$_stat[$str]['gid']] = Gmanager::id2name(self::$_stat[$str]['gid']);
        }

        return 
self::$_stat[$str];
    }


    
/**
     * fileperms
     * 
     * @param string $str
     * @return int
     */
    
public function fileperms ($str)
    {
        
$str IOWrapper::set($str);

        if (!isset(
self::$_stat[$str][2])) {
            
self::$_stat[$str] = @stat($str);
        }
        return 
self::$_stat[$str][2];
    }


    
/**
     * filesize
     * 
     * @param string $file
     * @return int
     */
    
public function filesize ($file)
    {
        
$file IOWrapper::set($file);

        if (!isset(
self::$_stat[$file][7])) {
            
self::$_stat[$file] = stat($file);
        }
        return 
self::$_stat[$file][7];
    }


    
/**
     * filemtime
     * 
     * @param string $str
     * @return int
     */
    
public function filemtime ($str)
    {
        
$str IOWrapper::set($str);

        if (!isset(
self::$_stat[$str][9])) {
            
self::$_stat[$str] = stat($str);
        }
        return 
self::$_stat[$str][9];
    }


    
/**
     * filetype
     * 
     * @param string $str
     * @return string
     */
    
public function filetype ($str)
    {
        return 
filetype(IOWrapper::set($str));
    }


    
/**
     * readlink
     * 
     * @param string $link
     * @return array
     */
    
public function readlink ($link)
    {
        
chdir(Registry::get('current'));
        return array(
basename($link), IOWrapper::get(realpath(readlink(IOWrapper::set($link)))));
    }


    
/**
     * file_exists
     * 
     * @param string $str
     * @return bool
     */
    
public function file_exists ($str)
    {
        return 
file_exists(IOWrapper::set($str));
    }


    
/**
     * unlink
     * 
     * @param string $file
     * @return bool
     */
    
public function unlink ($file)
    {
        return 
unlink(IOWrapper::set($file));
    }


    
/**
     * rename
     * 
     * @param string $from
     * @param string $to
     * @return bool
     */
    
public function rename ($from$to)
    {
        return 
rename(IOWrapper::set($from), IOWrapper::set($to));
    }


    
/**
     * copy
     * 
     * @param string $from
     * @param string $to
     * @param mixed  $chmod
     * @return bool
     */
    
public function copy ($from$to$chmod 0644)
    {
        
$from IOWrapper::set($from);
        
$to   IOWrapper::set($to);

        if (
$result = @copy($from$to)) {
            
$this->chmod($to$chmod);
        }
        return 
$result;
    }


    
/**
     * rmdir
     * 
     * @param string $dir
     * @return bool
     */
    
public function rmdir ($dir)
    {
        
$dir IOWrapper::set($dir);

        return 
is_dir($dir) ? rmdir($dir) : true;
    }


    
/**
     * getcwd
     * 
     * @return string
     */
    
public function getcwd ()
    {
        return 
IOWrapper::get(getcwd());
    }


    
/**
     * realpath
     * 
     * @param string $path
     * @return string
     */
    
public function realpath ($path)
    {
        return 
IOWrapper::get(realpath(IOWrapper::set($path)));
    }


    
/**
     * iterator
     * 
     * @param string $dir
     * @return array
     */
    
public function iterator ($dir)
    {
        return 
array_map(array('IOWrapper''get'), (array)array_diff(scandir(IOWrapper::set($dir), 0), array('.''..')));
    }
}

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