Advertisement
Guest User

Untitled

a guest
Apr 7th, 2015
719
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.20 KB | None | 0 0
  1. <?
  2. require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
  3. // require($_SERVER["DOCUMENT_ROOT"]."/download/createzip.php");
  4. $arrFile = array(
  5.                     "/upload/item.jpg",
  6.                     "/upload/item2.jpg",
  7.                     "/upload/slide.jpg",
  8.                     "/upload/products/doc/CWSO.pdf",
  9.                     "/upload/products/doc/CWSS-C-W.pdf",
  10.                     "/upload/products/doc/CWSS-O.pdf",
  11.                     "/upload/products/doc/CWST.pdf",
  12.                     "/upload/products/doc/DBS1224B4W_manual.pdf",
  13.                     "/upload/products/doc/EMA_DBS_Certificate.pdf",
  14.                     "/upload/products/doc/EnScape_Certificate.pdf",
  15.                     "/upload/products/doc/ExitPoint_Certificate.pdf",
  16.                     "/upload/products/doc/ExitPoint_manual.pdf",
  17.                     );
  18.  
  19. createZipAndDownload($arrFile);
  20.  
  21. function createZipAndDownload($arFiles)
  22. {
  23.     $zip = new ZipArchive();
  24.     $filename = "system_sensor_archive_".date("d.m.Y").".zip";
  25.     var_dump($filename);
  26.     if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
  27.         exit("Невозможно открыть <$filename>\n");
  28.     }
  29.  
  30.     foreach ($arFiles as $file)
  31.     {      
  32.         $arr = explode("/", $file);    
  33.         var_dump($arr);
  34.         $zip->addFile($_SERVER["DOCUMENT_ROOT"].$file, end($arr));
  35.     }
  36.    
  37.     $zip->close();
  38.  
  39.     file_force_download($filename);
  40. }
  41.  
  42. function file_force_download($file) {
  43.   if (file_exists($file)) {
  44.     // сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт
  45.     // если этого не сделать файл будет читаться в память полностью!
  46.     if (ob_get_level()) {
  47.       ob_end_clean();
  48.     }
  49.     // заставляем браузер показать окно сохранения файла
  50.     header('Content-Description: File Transfer');
  51.     header('Content-Type: application/octet-stream');
  52.     header('Content-Disposition: attachment; filename=' . basename($file));
  53.     header('Content-Transfer-Encoding: binary');
  54.     header('Expires: 0');
  55.     header('Cache-Control: must-revalidate');
  56.     header('Pragma: public');
  57.     header('Content-Length: ' . filesize($file));
  58.     // читаем файл и отправляем его пользователю
  59.     readfile($file);
  60.  
  61.     unlink($file);
  62.     exit;
  63.   }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement