0 / 0 / 0
Регистрация: 18.02.2013
Сообщений: 9
1

архивация zip

20.02.2013, 12:08. Показов 846. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, помогите пожалуйста!
Есть функция которая создает гаджет для Вин 7, но не рабочий, пишет, что он поврежден! Помогите исправить пожалуйста

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// получаем id сервера
$id = $r['id'];
$ip = ''.$r['ip'].':'.$r['q_port']
 
.'';
// путь до файлов гаджета
$dir = "gadget/";
// DO NOT EDIT!
$gname = 'gadget_' . $id . '.gadget';
$gpath = $dir . 'compiled/' . $gname;
 
// отправка заголовков
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-control: public");
header("Content-Description: File Transfer");
header('Content-type: application/zip'); 
header('Content-Disposition: attachment; filename="' . $gname . '"');
header("Content-Transfer-Encoding: binary");
 
// проверяем, был ли ранее скомпилирован файл
if(file_exists($gpath)) {
 $output = file_get_contents($gpath);
 header("Content-Length: " . filesize($gpath));
 echo $output;
 exit();
}
 
// ЕСЛИ ФАЙЛ НЕ БЫЛ РАНЕЕ СКОМПИЛИРОВАН
 
// инициируем класс
$zip = new ZipArchive;
// открываем временный файл
$zip->open($gpath, ZipArchive::CREATE);
// название главного файла
$main_file = 'megamonitor.html';
// заводим все имена файлов в массив
$files = array();
 
if(is_dir($dir)) {
   if($dh = opendir($dir)) {
       while(($file = readdir($dh)) !== false && $file != '..' && $file != '.') {
          $files[] = $file;
       }
       closedir($dh);
   }
}
// присваиваем переменной содержимое файла
$contents = file_get_contents($dir . $main_file);
// меняем id
$contents = str_replace('12345', '' . $ip, $contents);
// добавляем файлы в архив
foreach($files as $filename) {
 if($filename == $main_file) continue;
 $zip->addFile($filename);
}
$zip->addFromString($main_file, $contents);
$zip->close();
 
$output = file_get_contents($gpath);
header("Content-Length: " . filesize($gpath));
echo $output;
exit();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.02.2013, 12:08
Ответы с готовыми решениями:

Запаковать картинку в zip
есть куки, в них путь до картинки, но он в зип кидает не картинку, а что то что весит 8 кб - на...

Архивация файла
Здравствуйте. Имеется файл на сервере (*.ехе), но браузеры не дают ему скачаться, т.к....

архивация данных
можно ли как то сжать данные? к примеру есть данные типа (id:11|data:34|user:3,4,5....) и они...

Архивация папок
Всем привет! $pathdir='test/'; // путь к папке, файлы которой будем архивировать...

1
0 / 0 / 0
Регистрация: 18.02.2013
Сообщений: 9
26.02.2013, 13:06  [ТС] 2
Никто не поможит?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2013, 13:06
Помогаю со студенческими работами здесь

Архивация большого файла
Всем привет. Вот бьюсь долго и не могу разобраться в чем проблема. Смысл скрипта: 1....

Php - архивация каталога
господа, помогите разобраться. суть в следующем. на хостинге нет автоматического бэкапа, но есть...

Архивация при скачивании файлов пользователем
Суть проблемы такова - при нажатии пользователем на ссылку происходит скачивание файла , с...

Архивация файлов при помощи exec
пытаюсь заархивировать директроию следующей коммандой: exec('zip -r ./bn/bn.zip ./bn',$ret_strs);...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru