------ -----------------
------------------

Нужна помощь (добавление файла в архив)

Тема в разделе "Хаки", создана пользователем Strannik89, 20 июл 2014.

  1. Strannik89

    Strannik89 Новичек

    21
    0
    Уважаемые форумчане, вот столкнулся я с такой незадачей:
    Нужно к аттачам (архивам zip и rar ) добавить файл readme.txt (там будет написан текст типа "Файл был скачан с сайта site.ru") нашел я в просторах интернета хактакой...

    Название: ZipArchive Comment
    Автор: Qnut
    CMS: DLE 9.x - 10.2

    Описание:
    Данный хак позволяет добавлять вам комментарий к загружаемому на сервер ZIP архиву.

    Возможности:
    Выбор типа комментария архива:
    - Добавление обычного комментария в архив;
    - Добавление файла в архив, который лежит в корне сайта;
    - Создание файла с комментарием;
    - Возможность указать максимальный вес файла, который будем править, в Кб, чтобы ограничить нагрузку на сервер.


    Установка:
    Открыть engine/classess/uploads/upload.class.php, найти ~471 строка:
    $uploaded_filename = $this->file->saveFile(ROOT_DIR . "/uploads/files/".FOLDER_PREFIX, $filename, $this->use_prefix);

    Ниже вставить:
    //Найстройка хака
    $ZipArchiveOpt = array (
    'type' => "1", // Тип (1 - Добавление обычного комментария в архив; 2 - Добавление файла в архив, который лежит в корне сайта; 3 - Создание файла с комментарием)
    'size' => "10240", // Максимальный вес файла в Кб, чтобы ограничить нагрузку на сервер
    'name' => "ReadMe.txt", // ReadMe.txt - имя файла, который будет создан
    'file' => "ReadMe.txt", // ReadMe.txt - имя файла, который будет взят с папки uploads, в котором будет ваш комментарий
    'comment' => "Архив скачан с сайта стерто.ru", // Комментарий архива
    );
    if($ZipArchiveOpt['type'] == 1 ) {
    if(stripos ( $filename, ".zip" ) AND ($size open($data_url) === TRUE){
    $zip->setArchiveComment($ZipArchiveOpt['comment']);
    $zip->close();
    }
    }
    } elseif ($ZipArchiveOpt['type'] == 2) {
    if(stripos ( $filename, ".zip" ) AND ($size open($data_url, ZipArchive::CREATE) === TRUE){
    $zip->addFile("{$data_name}", "{$ZipArchiveOpt['comment']}");
    $zip->close();
    }
    }
    } else {
    if(stripos ( $filename, ".zip" ) AND ($size open($data_url, ZipArchive::CREATE) === TRUE){
    $zip->addFromString("{$ZipArchiveOpt['name']}","{$ZipArchiveOpt['comment']}");
    $zip->close();
    }
    }
    }


    Открыть language/Russian/adminpanel.lng, найти:
    'wysiwyg_language' => "ru",


    Ниже вставить:
    //zip_comment
    'zip_comment' => "Архив скачан с сайта стерто.ru",

    Но он не работает. и он только для zip (( помогите поправить его и сделать и для rar тоже.. надеюсь и другим ребятам хак будет полезен тоже. Версия DLE 10.2
     
  2. Strannik89

    Strannik89 Новичек

    21
    0
    Видимо тут не помогут ничем.... Ладно...
     
  3. Dark Angell

    Dark Angell Новичек

    663
    0
    rar не поддерживает средствами php возможность перепаковки,только зир,тар,bz2,tar.gz
     
  4. Strannik89

    Strannik89 Новичек

    21
    0
    Я понял. ну это фигня, как в zip то верно всунуть файл?(((
     
  5. Gameer

    Gameer Херачь РОК, сцуко!

    6.462
    0
    Требования:
    PHP 5: 5.2.0+
    PECL zip: 1.1.0+

    У вас это есть?
     
  6. Strannik89

    Strannik89 Новичек

    21
    0
    PHP 5: 5.2.0+ есть
    PECL zip: 1.1.0+ нету вроде. не обнаружил.
    http://o5cs.ru/1.php проверял...

    Написал в техподдержку хостеру с прозьбой установить библиотеку
     
  7. Gameer

    Gameer Херачь РОК, сцуко!

    6.462
    0
    И тут старая версия хака, вот более новее.
    Код:
    //Найстройка хака
    			$ZipArchiveOpt = array (
    				'type' => "1", // Тип (1 - Добавление обычного комментария в архив; 2 - Добавление файла в архив, который лежит в корне сайта; 3 - Создание файла с комментарием)
    				'size' => "10240", // Максимальный вес файла в Кб, чтобы ограничить нагрузку на сервер 
    				'name' => "ReadMe.txt", // ReadMe.txt - имя файла, который будет создан
    				'file' => "ReadMe.txt", // ReadMe.txt - имя файла, который будет взят с папки uploads, в котором будет ваш комментарий
    				'comment' => "Архив скачан с сайта coderlaba.com", // Комментарий архива
    			);
    			if($ZipArchiveOpt['type'] == 1) {
    				if(stripos ( $filename, ".zip" ) AND ($size = 5.2.0, PECL zip >= 1.1.0)) {
    					$data_url = ROOT_DIR . "/uploads/files/" . FOLDER_PREFIX .$uploaded_filename;
    					$zip = new ZipArchive;
    					if ($zip->open($data_url) === TRUE){
    						$zip->setArchiveComment($ZipArchiveOpt['comment']);
    						$zip->close();
    					}
    				}
    			} elseif ($ZipArchiveOpt['type'] == 2) {
    				if(stripos ( $filename, ".zip" ) AND ($size = 5.2.0, PECL zip >= 1.1.0)) {
    					$data_url = ROOT_DIR . "/uploads/files/" . FOLDER_PREFIX .$uploaded_filename;
    					$data_urls = ROOT_DIR . "/uploads/" .$ZipArchiveOpt['file'];
    					$zip = new ZipArchive;
    					if ($zip->open($data_url, ZipArchive::CREATE) === TRUE){
    						$zip->addFile("{$data_urls}", "{$ZipArchiveOpt['file']}");
    						$zip->close();
    					}
    				}
    			} else {
    				if(stripos ( $filename, ".zip" ) AND ($size = 5.2.0, PECL zip >= 1.1.0)) {
    					$data_url = ROOT_DIR . "/uploads/files/" . FOLDER_PREFIX .$uploaded_filename;
    					$zip = new ZipArchive;
    					if ($zip->open($data_url, ZipArchive::CREATE) === TRUE){
    						$zip->addFromString("{$ZipArchiveOpt['name']}","{$ZipArchiveOpt['comment']}");
    						$zip->close();
    					}
    				}
    			}
    
     
  8. Strannik89

    Strannik89 Новичек

    21
    0
    Спасибо за хак. Как подключат библиотеку - заюзаю....
     
  9. Strannik89

    Strannik89 Новичек

    21
    0
    Установили библиотеку. Обновили Php но при выгрузке архива пишет "Загрузка файла: 1.zipзавершилось ошибкой"

    zipZip enabled
    Extension Version $Id: b1a1a3628c4ed0ad78fb0cc4a99b06a56aa281c4 $
    Zip version 1.11.0
    Libzip version 0.10.1
     
  10. Strannik89

    Strannik89 Новичек

    21
    0
    Старый код не работает все так же..новый выбивает ошибку...
     
  11. ?????±???‹??

    ?????±???‹?? Новичек

    949
    0
    Напишите разрабу, мб что-то придумает
     

Поделиться этой страницей