Просмотр файла download/include/txt_in_zip.php

Размер файла: 2.76Kb
  1. <?php
  2.  
  3. $dir_clean = opendir('time_files/created_zip');
  4. while ($file = readdir($dir_clean)) {
  5. if ($file != 'index.php' && $file != '.htaccess' && $file != '.' && $file != '..') {
  6. $time_file = filemtime('time_files/created_zip/' . $file);
  7. if ($time_file < ($time - 300))
  8. unlink('time_files/created_zip/' . $file);
  9. }
  10. }
  11. closedir($dir_clean);
  12. $sql->query("SELECT * FROM `down_files` WHERE `id` = '$id' AND (`type` = 2 OR `type` = 3) LIMIT 1");
  13. $res_down = $sql->fetch();
  14.  
  15. if ($sql->num_rows() == 0 || !is_file($res_down['dir'] . '/' . $res_down['name']) || format($res_down['name']) != 'txt' || ($res_down['type'] == 3 && !$admin)) {
  16. include H.'engine/includes/head.php'; echo display_error('Файл не найден<br /><a href="index.php">К категориям</a>');
  17. include H.'engine/includes/foot.php';
  18. }
  19.  
  20. if (isset($_GET['more'])) {
  21. $more = abs(intval($_GET['more']));
  22. $req_more = $sql->query("SELECT * FROM `down_more` WHERE `id` = '$more' LIMIT 1");
  23. $res_more = $sql->fetch();
  24. if (!$sql->num_rows() || !is_file($res_down['dir'] . '/' . $res_more['name']) || format($res_more['name']) != 'txt') {
  25. include H.'engine/includes/head.php';
  26. echo Core::msg_show('Файл не найден<br /><a href="index.php">К категориям</a>');
  27. include H.'engine/includes/foot.php';
  28. exit;
  29. }
  30. $down_file = $res_down['dir'] . '/' . $res_more['name'];
  31. $title_pages = $res_more['rus_name'];
  32. $txt_file = $res_more['name'];
  33. }
  34. else {
  35. $down_file = $res_down['dir'] . '/' . $res_down['name'];
  36. $title_pages = $res_down['rus_name'];
  37. $txt_file = $res_down['name'];
  38. }
  39.  
  40. if (!isset($_SESSION['down_' . $id])) {
  41. $sql->query("UPDATE `down_files` SET `field`=`field`+1 WHERE `id`='$id'");
  42. $_SESSION['down_' . $id] = 1;
  43. }
  44. $file = 'time_files/created_zip/' . $txt_file . '.zip';
  45. if (!file_exists($file)) {
  46. Core::get('zip');
  47. $zip = new PclZip($file);
  48. function w($event, &$header)
  49. {
  50. $header['stored_filename'] = basename($header['filename']);
  51. return 1;
  52. }
  53. $zip->create($down_file, PCLZIP_CB_PRE_ADD, 'w');
  54. chmod($file, 0644);
  55. }
  56.  
  57. include H.'engine/includes/head.php';
  58.  
  59. echo '<div class="p_m"><b>' . text::output($title_pages) . '</b></div>';
  60. echo '<div class="menu"><a href="' . text::output($file) . '">Скачать в ZIP</a></div>';
  61. echo '<div class="menu"><input type="text" value="http://'.$_SERVER['HTTP_HOST'].'/' . $dir_load . '/' . text::output($file) . '"/><b></b></div>';
  62. echo '<div class="menu">Файл будет доступен для скачивания в течение 5 минут</div>';
  63. echo '<div class="p_t"><a href="index.php?act=view&amp;id=' . $id . '">К файлу</a></div>';
  64.  
  65. ?>