Loading...
Обучение/Помощь новичкам | PHP Нужна помощь!
Извиняюсь за плод тем но эта проблема не даёт мне покоя.
Не работает просмотр файла из архива.
$onpage = 999999;

$id = abs($_GET['id']);

$page = abs($_GET['page']);

$start = abs($_GET['start']);



$action = (isset($_GET['action']) && $_GET['action'] == 'preview') ? my_check($_GET['action']) : NULL;



$d = mysql_fetch_assoc(mysql_query('SELECT * FROM `load_file` WHERE `id` = ' . $id));

if (!file_exists('../files/down/'.$d['files'].''))

{

err('Файл не найден!');

require_once ('../system/footer.php');

exit();

}

###############Получаем каталог#############

$filename = pathinfo('../files/down/'.$d['files'].'');

$ext = strtolower($filename['extension']);

if ($ext != 'zip') die('Файл не является ZIP архивом');



$back = mysql_fetch_assoc(mysql_query("SELECT * FROM `load_file` WHERE `url` = '$dir'"));

###############Заголовок###################

echo '<div class="title">Просмотр архива ' . basename($d['files']) . '</div>';

echo '<div class="menudiv">';

###############Содержимое###################

if (!$action)

{

$zip = new PclZip('../files/down/'.$d['files'].'');

if (!$list = $zip->listContent()) die('Ошибка: '.$zip->errorInfo(true));

for($i = 0; $i < sizeof($list); ++$i)

{

for(reset($list[$i]); $key = key($list[$i]); next($list[$i]))

{

$zfilesize = strstr($listcontent, '--size');

$zfilesize = str_replace('--size:', '', $zfilesize);

$zfilesize = str_replace($zfilesize, $zfilesize . '|', $zfilesize);

$sizelist .= $zfilesize;

$listcontent = "[$i]--$key:" . $list[$i][$key];

$zfile = strstr($listcontent, '--filename');

$zfile = str_replace('--filename:', '', $zfile);

$zfile = str_replace($zfile, $zfile . '|', $zfile);

$savelist .= $zfile;

}

}

$sizefiles2 = explode('|', $sizelist);



$sizelist2 = array_sum($sizefiles2);

$obkb = round($sizelist2 / 1024, 2);

$preview = $savelist;



$preview = explode('|', $preview);



$count = count($preview) - 1;

echo 'Всего файлов: ' . $count . '<br/>Вес распакованного архива: ' . $obkb . ' kb</div>';

echo '<div class="menudi">';

if (!isset($page)) $page = 1;

$n = 0;

$pages = ceil($count / $onpage);

if (!$pages) $pages = 1;

if ($page) $n = ($onpage * $page) - $onpage;

if ($count == 0) echo 'Пусто...';

$sizefiles = explode('|', $sizelist);

$selectfile = explode('|', $savelist);

//------------------------------------------------------------------------------------------

for ($i = 1; $i <= $onpage; ++$i)

{

if (empty($selectfile[$n]))

{

$n++;

continue;

}



$path = $selectfile[$n];

$fname = preg_replace('/.*[/]/', '', $path);



echo '<a href="zip.php?action=preview&amp;id='.$id.'&amp;open='.$path.'" class="menudiv">' . $fname . ' [' .round($sizefiles[$n] / 1024, 2) . 'kb]</a>';

/*if ($sizefiles[$n] != 0)

echo ' [' .round($sizefiles[$n] / 1024, 2) . 'kb]';

*/

$n++;

}

//------------------------------------------------------------------------------------------



}



###############Просмотр файла###################

if ($action == 'preview')

{

$open = check($_GET['open']);

if (strpos($open , '../') !== false or strpos($open , './') !== false)

{

err('В хакера решил поиграть?');

require_once ('../system/footer.php');

exit();

}



$zip = new PclZip('../files/down/'.$d['files'].'');

$content = $zip->extract(PCLZIP_OPT_BY_NAME, $open, PCLZIP_OPT_EXTRACT_AS_STRING);

$content = $content[0]['content'];

$preview2 = explode("n", $content);

$count = count($preview2);



echo '<b>Файл: ' . $open . '</b><br/>';



$eX = strtolower(strrchr($open, '.'));



$php = array('.php', '.pl', '.js', '.jsp', '.html', '.xhtml', '.xml', '.wml', '.asp', '.aspx');

$txt = array('.txt', '.sql', '.dat', '.css', '.ini', '.function', '.htaccess', '.tpl');

$img = array('.gif', '.jpg', '.jpeg', '.png', '.bmp', '.wbmp', '.ico', '.swf');



if (empty($content)) echo 'Файл пуст.<br/>';



if (isset($_GET['img']))

{

$ext = strtolower(substr($open, strrpos($open, '.') + 1));



ob_end_clean();

ob_clean();



header("Content-type: image/$ext");

header("Content-Length: " . strlen($content));

header('Content-Disposition: inline; filename="' . $open . '"');



echo $content;

exit();

}



if (in_array($eX, $php))

{

echo (!empty($content) ? 'Строк: ' . $count . '<br/>' : '');

if (is_utf($content)) echo highlight($content);

else echo highlight(win_to_utf($content));

}

elseif (in_array($eX, $txt))

{

$content = htmlspecialchars($content);

echo (!empty($content) ? 'Строк: ' . $count . '<br/>' : '');

if (is_utf($content)) echo '<div style="background:#dedede; color:#727272; overflow: auto;"><code>' . wordwrap($content, 75, '<br/>') . '</code></div>';

else echo '<div style="background:#dedede; color:#727272; overflow: auto;"><code>' . win_to_utf(wordwrap($content, 75, '<br/>')) . '</code></div>';

}

elseif (in_array($eX, $img))

{

echo '<img src="?action=preview&amp;id='.$id.'&amp;open='.$open.'&amp;img" alt=""/><br/>';

}

else

{

echo 'Невозможно прочесть файл!<br/>';

}



}
Что никто не поможет? :-D
заплати ты уже рублей 100 и напишут тебе этот модуль
На Доске (02.02.2018 в 17:43)
Master zpank , скачай Отуда где работает

.рука. я его с dcms вытащил и под свой скрипт переделал, просмотр архива работает а вот просмотр файла нет.
Master zpank , в другой раз, попрошу вас использовать https://pastebin.com/
т.к. не весь код влезает и читать не удобно
а так, пост №3
409212064 (02.02.2018 в 17:41)
заплати ты уже рублей 100 и напишут тебе этот модуль

Он уже готовый рабочий скрипт, просто что то нужно изменить а я не могу понять что.
Master zpank (02.02.2018 в 17:46)
409212064 (02.02.2018 в 17:41)
заплати ты уже рублей 100 и напишут тебе этот модуль

Он уже готовый рабочий скрипт, просто что то нужно изменить а я не могу понять что.

так если он рабоачий в чем вопрос ???
409212064 (02.02.2018 в 17:47)
Master zpank (02.02.2018 в 17:46)
409212064 (02.02.2018 в 17:41)
заплати ты уже рублей 100 и напишут тебе этот модуль

Он уже готовый рабочий скрипт, просто что то нужно изменить а я не могу понять что.

так если он рабоачий в чем вопрос ???

Читай внимательнее! .рука. если не можешь помочь но ненужно оффтопить!
________
посл. ред. 02.02.2018 в 17:50; всего 1 раз(а); by Master zpank
Master zpank (02.02.2018 в 17:50)
409212064 (02.02.2018 в 17:47)
Master zpank (02.02.2018 в 17:46)
409212064 (02.02.2018 в 17:41)
заплати ты уже рублей 100 и напишут тебе этот модуль

Он уже готовый рабочий скрипт, просто что то нужно изменить а я не могу понять что.

так если он рабоачий в чем вопрос ???

Читай внимательнее! .рука. если не можешь помочь но ненужно оффтопить!

так я и читаю... вы пишите что скрипт то работает, и уже несколько тем создаете, а просите помочь с кодом, пту?
сколько функций . Я такого гкода не видел еще .
иди посмотри вебинары по php и напиши нормальный код ...
Онлайн: 2
Время:
Gen. 0.1663
(c) Bym.Guru 2010-2026