Вход Регистрация
Файл: 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($archstrrpos($arch"/"))).'</b><br />
Всего файлов: '
.$total.'<br />Вес распакованного архива: '.formatsize($totalsize).'</div>';
        
$start = (int)$_GET['start'];
        if(
$start || $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($archstrrpos($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';
Онлайн: 0
Реклама