G
grifons
Гость
Народ, помогите пожалуйста!Есть функция которая создает гаджет для Вин 7, но не рабочий, пишет, что он поврежден! Помогите исправить пожалуйста Показать / Скрыть текст// получаем 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();