Вход Регистрация
Файл: pan/zip.php
Строк: 111
<?php
/*
Автор скрипта: Juse
Модификация: Jahak
*/


include_once 'config.php';
include_once 
'head.php';
include_once 
'Core/pclzip.lib.php';
// echo 'Просмотр архива '.strtolower(substr($_GET['arch'], 1 + strrpos($_GET['arch'], "/"))).'<br />';
if(!$_GET['arch']){
    echo 
'<div class="rmenu">Ошибка! Не выбран архив!</div>';
    include_once 
"foot.php";
    exit;
} 
$arch = $_GET['arch'];
if (!
$_GET['action']){
    
$zip = new PclZip($_GET['arch']);
    if ((
$list = $zip->listContent()) != 0){

        
sort($list);

        
$countlist = count($list);
        
$zfilename = array();
        
$zfilesize = array();
        
$zfolder = array();

        for (
$i=0; $i<$countlist; $i++){
            
$zfilename[] = $list[$i]['filename'];
            
$zfilesize[] = $list[$i]['size'];
            
$zfolder[] = $list[$i]['folder'];
        }

        
$totalsize = array_sum($zfilesize);

        
$total = count($zfilename);
        echo 
'<div class="gmenu">Название <b>'.strtolower(substr($arch, 1 + strrpos($arch, "/"))).'</b><br />
Всего файлов: '
.$total.'<br />Вес распакованного архива: '.formatsize($totalsize).'</div>';
        
$start = (int)$_GET['start'];
        if(
$start < 0 || $start > $total){
            
$start = 0;
        }
        if (
$total < $start + $udata[2]){
            
$end = $total;
        } else {
            
$end = $start + $udata[2];
        }
        echo 
'<div class="bmenu">';
        for (
$i = $start; $i < $end; $i++){
            
            if(
$zfolder[$i]=="1"){
                
$zfilename[$i] = substr($zfilename[$i], 0, -1);
                echo 
'<img src="data:image/gif;base64,R0lGODlhEAAQAKIHAPHx8f//zJmZAP/MmQAAAMzMZv//mf///yH5BAEAAAcALAAAAAAQABAAAANFeLrcKxAS90AIxojpRPlgEUWKcJ3oZRSTmb2wMbCHG8s4bd+DrGOwnnDVAgZxs+JrKEzWAkzkwOkJWUEcgnbL5VK+YHACADs=" alt="dir" /> <b>Директория '.$zfilename[$i].'</b><br />';
            } else {
                
$arrext = array('.xml', '.wml', '.asp', '.aspx', '.shtml', '.htm', '.phtml', '.html', '.xhtml', '.php', '.htt', '.dat', '.tpl', '.htaccess', '.py', '.pyw', '.exe', '.jad', '.jar', '.js', '.jsp', '.mid', '.mmf', '.mp3', '.psd', '.rar', '.zip', '.css', '.txt', '.sql', '.swf', '.3gp', '.mp4', '.avi', '.ttf', '.gif', '.png', '.bmp', '.wbmp', '.jpg', '.jpeg', '.xls', '.doc', '.ppt', '.wmv');
                
$ext = strtolower(strrchr($zfilename[$i], "."));
                echo 
'<img src="img/'.icons($ext).'" alt="image" />&nbsp;';
                if (
in_array($ext, $arrext)) {
                    echo 
'<a href="zip.php?action=preview&amp;arch='.$arch.'&amp;open='.$zfilename[$i].'&amp;start='.$start.'">'.$zfilename[$i].'</a> ('.formatsize($zfilesize[$i]).')<br />' . PHP_EOL;
                } else {
                    echo 
'<a href="zip.php?action=preview&amp;arch='.$arch.'&amp;open='.$zfilename[$i].'&amp;start='.$start.'">'.$zfilename[$i].'</a> ('.formatsize($zfilesize[$i]).')<br />' . PHP_EOL;
                }
            }
        }
        echo 
'</div>
<div class="menu">'
;
        if(
$total>0){
            
$ba = ceil($total/$udata[2]);
            
$ba2 = $ba*$udata[2]-$udata[2];
            echo 
'Страницы:';
            
$asd = $start-($udata[2]*3);
            
$asd2 = $start+($udata[2]*4);

            if(
$asd<$total && $asd>0){
                echo 
' <a href="zip.php?start=0&arch='.$arch.'&">1</a> ... ';
            }
            for(
$i=$asd; $i<$asd2;){
                if(
$i<$total && $i>=0){
                    
$ii = floor(1+$i/$udata[2]);
                    if (
$start==$i) {
                        echo 
' <b>('.$ii.')</b>';
                    } else {
                        echo 
' <a href="zip.php?start='.$i.'&arch='.$arch.'&">'.$ii.'</a> ';
                    }
                }
                
$i = $i+$udata[2];
            }
            if(
$asd2<$total){
                echo 
' ... <a href="zip.php?start='.$ba2.'&arch='.$arch.'&">'.$ba.'</a>';
            }
        }
    } else {
        echo 
'<div class="rmenu">Невозможно открыть архив!<br />
Ошибка: '
.$zip->errorInfo(true).'</div>';
    }
    echo 
'<br />* <a href="index.php?action=viewfile&fid='.$arch.'&">Вернуться</a><br />' .
    
'* <a href="index.php">Файловый менеджер</a></div>';
}
////////////////////////////////// Просмотр  файла ////////////////////////////////
if($_GET['action']=="preview"){
    
$zip = new PclZip($arch);
    
$content = $zip->extract(PCLZIP_OPT_BY_NAME, $_GET['open'], PCLZIP_OPT_EXTRACT_AS_STRING);
    
$content = $content[0]['content'];

    
$preview = explode("rn", $content);
    
$count = count($preview);
    
$ext = strtolower(substr($_GET['open'], strrpos($_GET['open'], '.') + 1));

    echo 
'<div class="gmenu">Название архива: <b>'.strtolower(substr($arch, 1 + strrpos($arch, "/"))).'</b><br />
    Открытый файл: <b>'
.$_GET['open'].'</b></div>';

    if (
$ext!="gif" && $ext!="jpg" && $ext!="png"){

        
//---------------------- Файл ----------------------//
        
echo '<div class="bmenu">Всего строчек: '.(int)$count.'
<div class="list2">'
;

        if(
is_utf($content)){
            echo 
highlight_code($content);
        } else {
            echo 
highlight_code(win_to_utf($content));
        }

        echo 
'</div>« <a href="zip.php?arch='.$arch.'&start='.$_GET['start'].'&">Назад</a></div>';

    } else {

        
//-------------------- Картинка --------------------//
        
if($_GET['create']=="image"){
        
ob_end_clean();    
        
ob_clean();
        
header('Content-Disposition: attachment; filename="image.'.$ext.'";');
        if(
$ext=="jpg"){$ext="jpeg";}
        
header("Content-type: image/$ext");
        
header("Content-Length: ".strlen($content));
        echo 
$content;
        exit;
        }
        echo 
'Image:<br /> <a href="zip.php?action=preview&arch='.$arch.'&open='.$_GET['open'].'&create=image"> <img src="zip.php?action=preview&arch='.$arch.'&open='.$_GET['open'].'&create=image" alt=""></a><br />
        « <a href="zip.php?arch='
.$arch.'&start='.$_GET['start'].'&">Назад</a><br />';
        
//--------------------------------------------------//
    
}
}

include_once 
'foot.php';
Онлайн: 3
Реклама