Как разархивировать html файл
Первая половина этого руководства объясняет различные способы создания ZIP-файла с помощью встроенных API-интерфейсов CodeIgniter. Мы увидим, как создавать и сохранять zip-файлы на сервере, и как вы можете сделать их доступными для загрузки конечным пользователям.
Вторая половина включает обсуждение того, как вы можете разархивировать файл. Чтобы продемонстрировать это, мы создадим пользовательскую страницу, которая позволит пользователям загружать zip-файлы, которые будут извлечены на сервере после успешной загрузки файла. Для достижения желаемых функциональных возможностей нам пригодится расширение ZipArchive PHP!
Прежде чем мы продолжим и фактически погрузимся в материал разработки, я перечислил файлы, которые мы собираемся разработать в ходе этого учебника:
- Application / controllers / Zip.php: Это файл контроллера, который демонстрирует различные способы создания zip-файла.
- Application / controllers / Unzip.php: Это файл контроллера, который включает в себя код, используемый для распаковки загруженного пользователем файла.
- Application / views / file_upload_form.php: Это файл представления, который содержит довольно простой код для загрузки файлов HTML.
- Application / views / file_upload_result.php: это файл представления, который показывает результат загруженного пользователем файла; В основном это говорит вам, если файл был успешно разархивирован.
- Application / libraries / Extractor.php: Этот файл демонстрирует концепцию пользовательской библиотеки в CodeIgniter.
Со всем, что у нас есть, мы готовы перейти к следующему разделу!
Как архивировать файлы?
Идем дальше и создаем файл application/controllers/Zip.php со следующим содержимым.
Это довольно стандартный файл контроллера, с которым вы уже знакомы. Он содержит несколько методов, и каждый из них показывает вам другой способ создания zip-файла.
Кроме того, он предоставляет два частных метода: _load_zip_lib и _archieve_and_download , которые вызываются из остальных методов. Конечно, вам не нужно реализовывать эти методы, но мы просто реорганизовали наш код, чтобы вы не повторяли тот же код в других методах. Давайте сначала рассмотрим эти два метода.
Вот как выглядит метод _load_zip_lib.
Он загружает встроенную zip-библиотеку среды CodeIgniter, чтобы вы могли использовать возможности этой библиотеки во всем остальном коде. Теперь вы можете получить доступ к zip-библиотеке с помощью соглашения $this-> zip .
Далее, рассмотрим метод _archieve_and_download .
Когда мы загрузили zip-библиотеку, вы можете использовать предоставленные ею методы. Метод архивирования позволяет вам по пути создать zip-файл, указанному в качестве первого аргумента. С другой стороны, метод загрузки предлагает пользователю загрузить файл.
Не беспокойтесь, если вы задаетесь вопросом о содержимом нашего zip-файла, сейчас мы к этому перейдем.
Все на месте, поэтому мы готовы к работе!
Давайте рассмотрим код метода data. Этот метод показывает вам, как создавать файлы «на лету» и переносить их в zip-файл.
Начнем с того, что мы вызвали метод _load_zip_lib , который загружает библиотеку zip. Затем мы использовали метод add_data класса zip, который позволяет вам создать файл и одновременно заполнить его содержимым! Конечно, он будет добавлен в архив!
Первый аргумент должен быть именем файла, а второй - содержимым файла.
Как вы можете видеть, мы добавили два файла: name.txt и profile.txt , с некоторым демо-контентом. Наконец, мы вызываем _archieve_and_download с my_info.zip в качестве аргумента этого метода. Что он делает?
- Он создаст zip-файл my_info.zip в каталоге загрузки.
- Он также предложит пользователю загрузить файл, а имя, в котором будет сохранен файл, будет my_info.zip .
Если у вас возникнут проблемы, вы можете задать их мне в комментариях!
Далее, есть метод data_array .
Этот метод идентичен предыдущему, о котором мы только что говорили, за исключением того, что мы предоставили массив файлов методу add_data вместо отдельных файлов!
Затем давайте рассмотрим код метода data_with_subdirs .
На всякий случай, если вы хотите упорядочить свои файлы в определенных каталогах, метод add_data также позволяет создавать их. Полученный результат вышеупомянутого метода не будет отличаться, за исключением того, что файлы name.tx t и profile.txt будут помещены в каталог info .
Хотя метод add_data предоставляет хорошую возможность, которая позволяет вам создавать файлы «на лету», чаще всего вам необходимо заархивировать существующие файлы на сервере. Во всяком случае, это как раз тема наших следующих методов.
Давайте быстро посмотрим, как выглядит наш следующий метод files . Он создаст zip архив файлов в каталоге uploads .
Цель метода read_file - прочитать существующий файл на сервере и добавить его в архив. Итак, как вы видите, что мы добавили два файла 1.jpg и 2.jpg в архив. Конечно, эти два файла должны присутствовать в каталоге uploads в корневом каталоге вашего сайта.
Если вы передадите TRUE как второй аргумент метода read_file , результирующий zip-файл сохранит точную структуру директории, в которую был помещен файл.
Последний метод в этом сегменте - это метод dir . Он создаст zip-архив всего каталога.
Вы можете использовать метод read_dir , если хотите создать zip-архив всего каталога вместо определенных файлов. В нашем примере выше он создаст файл dir_images.zip , содержащий все файлы в каталоге /uploads/images/ .
Важно отметить, что вся структура каталогов будет сохранена по умолчанию в zip-файле. Но, если вы хотите проигнорировать его, просто передайте FALSE в качестве второго аргумента метода read_dir . В этом случае создается только каталог images в zip-файле.
Итак, мы заканчиваем нашу историю о том, как создавать zip-архив, используя различные методы, предоставляемые встроенным zip-классом.
Как распаковать файлы?
К сожалению, нет встроенной библиотеки CodeIgniter, которая позволяет нам разархивировать zip-архив. Но расширение ZipArchive PHP делает этот процесс весьма легким, как мы сейчас увидим.
Мы создадим довольно простой пример, демонстрирующий, как разархивировать загруженные пользователем файлы.
Идем дальше и создаем файл application/controllers/Unzip.php со следующим содержимым.
Давайте также создадим наши шаблоны представлений, и тогда мы увидим, как это работает.
Создайте файл шаблон application/views/file_upload_form.php со следующим содержимым.
Он создает простую форму для загрузки файлов, чтобы пользователь мог загрузить zip-файл! Пожалуйста, обратите внимание, что я свел все к минимуму ради простоты.
Теперь давайте создадим файл шаблона application/views/file_upload_result.php
После загрузки и извлечения файла пользователю будет показан указанный выше шаблон.
Теперь давайте вернемся к нашему контроллеру и пройдемся по каждому методу.
В конструкторе нашего контроллера мы загрузили встроенные хелперы CodeIgniter такие как form и url, чтобы мы могли использовать вспомогательные функции, такие как form_open_multipart , site_url и т.п.
Затем давайте посмотрим на метод index .
Также обратите внимание, что действие нашей формы - unzip/upload , где данные будут отправлены. Мы использовали хелпер form_open_multipart для создания тега multipart form!
Затем нам нужно реализовать метод upload , который будет обрабатывать файлы для загрузки и извлечения файлов. Используйте для него код из контроллера Unzip.php .
Если вы знакомы с загрузкой файлов в CodeIgniter, код не должен выглядеть чужим для новым. Для тех, кто не знаком, вам не о чем беспокоиться, так как встроенные API загрузки в CodeIgniter довольно просты.
Следующий код загружает библиотеку загрузки с некоторой начальной конфигурацией, предоставляемой переменной массива $config .
Мы настроили его так, чтобы загруженный файл был помещен в папку uploads в корне приложения, и пользователю будет разрешено загружать только zip-файлы.
В этом случае файл загружается успешно, поэтому следующий шаг - это путь к загруженному файлу.
Наконец, мы создаем объект ZipArchive, открываем наш zip-файл и извлекаем его в каталог uploads .
Единственное, что нам осталось - это вызвать представление file_upload_result , и вот как оно должно выглядеть!
Итак, это другая часть истории!
Рефакторинг Unzipping кода в библиотеку
Вы заметили бы, что метод upload содержит код ZipArchive, который извлекает загруженный файл. Что делать, если вам нужно использовать этот код в нескольких местах? Возможно, у вас возникнет соблазн скопировать и вставить код по мере необходимости.
На самом деле, есть лучший способ, с помощью которого CodeIgniter позволяет централизовать код, который можно использовать во всем приложении. Вы можете создать собственную библиотеку.
Двигаемся дальше и создаем файл application/libraries/Extractor.php со следующим содержимым.
Теперь давайте заменим метод upload в вашем Unzip.php -контроллере следующим.
Как вы можете видеть, мы загрузили нашу пользовательскую библиотеку и использовали ее для извлечения содержимого!
И да, это конец этой статьи.
Заключение
Надеюсь, вам понравилась статья, в которой мы начали изучать основную zip-библиотеку среды CodeIgniter и различными способами создавать ZIP-архив. Во второй части я объяснил, как можно распаковывать загруженные пользователем файлы с помощью расширения ZipArchive PHP.
В этом процессе мы также получили возможность переместить наш код в обычную библиотеку CodeIgniter, и я бы сказал, что это было чем-то вроде вишенки на торте.
Все ссылки на сторонние ресурсы, за исключением офсайтов программ и их зеркал, должны оформляться с помощью тега скрытого текста - [hide=1] URL [/hide] и никак иначе. За нарушение будет строгое наказание.
Как открыть заархивированный файл с расширением .html?Как открыть заархивированный файл с расширением .html? Спасибо.
Gold Member
Хотя конечно если кто то специально назвал так именно архив, то нужно сменить расширение .html на .rar или .zip или еще что то нужно в зависимости от типа архива. Ну и потом уже распаковать. На будущее влияет не настоящее. это будущее формирует настоящее.
Переверни все свои представления.
Как только будущее задано, события начинают развиваться так, что будущее становится неизбежным. urnb
Расширение менял, как уже предлогалось ? (это буковки после точечки. )
Поменял. "Неожиданный конец архива". Хоть rar, хоть zip
urnbЗначит - не судьба. Как вариант - попытаться восстановить архив с помощью соответствующего софта, но как правило, это напрасная трата времени. файлы имеют вид qf.001.html qf.002.html qf.003.html .
и с размерами по 50 мб каждый?
тогда убираем из названий файлов .html чтобы осталось только qf.001, qf.002 и т.д.
в ТоталКомандере помечаем первый файл - qf.001 и даем в меню "Файл" ТоталКомандера -команду "Собрать файлы" -образуется один файл с уже правильным расширением (скорее всего avi если это фильм или, опять же rar или zip, которые потом надо распаковать обычным образом). примерно так же работает программа HJ Splitter можно воспользоваться и ею для склеивания файла из разбитых частей. Большое всем спасибо. Сегодня продвинулся. Скачал ТоталКомандер и 7zip. Как советовал Sanek, собрал и разархивировал скачанную прогу. Однако появилась проблема - ТК сообщил, что отсутствует crc файл, а он есть, скачивал его несколько раз (он небольшой). К тому же не извлекается. Наверное, это Дополнение? Что можно сделать?
можно попробовать собрать файл вообще без crc-файла
- Тотал Командир ругнется но файл соберет правильно, не беспокойся.
кроме того, как было сказано, ВинРАр тоже умеет заходить/открывать/извлекать такие файлы -конечно при условии что скачаны без ошибок все части.
Существует несколько способов загрузить и распаковать заархивированный файл на FTP сервер. Это может потребоваться при установке CMS, восстановлении резервной копии. Рассмотрим их подробнее.
Распаковка архива в панели администратора
Мы рекомендуем этот способ, так как он не требует установки дополнительных программ.
- В меню слева перейдите в раздел «Хостинг» -> «Сайты».
- В списке сайтов, вы увидите ваши сайты. Справа, напротив вашего сайта (на котором требуется распаковать архив) кликните на значок плюс.
- Далее, в выпавшем списке нажмите на пункт – Web FTP.
Далее, если вход не будет выполнен по прошествии 5 секунд — нажмите на кнопку «Перейти к работе с FTP».
Вы попадете на страницу работы с FTP сервером, через WEB-интерфейс.
- Выбираете каталог, куда необходимо закачать файл (по умолчанию, это корневой каталог html).
- В списке сайтов, вы увидите ваши сайты. Справа, напротив вашего сайта (на котором требуется распаковать архив) кликните на значок плюс.
Откроется страница выбора файла для загрузки.
- Нажимаете на кнопку «Выберите файл», в открывшемся окне проводника выбираете файл, предназначенный для загрузки на сервер.
- Выберите папку назначения для загружаемого файла.
- После выбора файла, вы увидите его имя возле кнопки «Выберите файл». Для подтверждения нажмите зеленую галочку.
- После загрузки файла нажмите на синюю стрелку – вы вернетесь к списку файлов и папок вашего хостинг-аккаунта.
Пошаговая инструкция по установке WordPress на хостинг.
Как распаковать архив на сервере в веб-интерфейсе хостинга
Чтобы вернуться на предыдущую страницу нажмите синюю стрелку.
Загрузка файлов через FTP-клиент
Второй способ — распаковать архив на компьютере и закачать файлы на хостинг с помощью FTP клиента (Filezilla, Total Commander, WinSCP и другие).
Загрузка и распаковка архива с помощью FileZilla
Для примера, мы рассмотрим Filezilla в качестве FTP клиента.
После установки Filezilla на компьютер, откройте эту программу. Далее перейдите админ панель хостинга, в меню слева, пункт – «Хостинг» -> FTP/Shell. Теперь, введите в программе Filezilla данные вашего сервера:
После соединения с сервером, в правой панели (Удаленная папка) FTP клиента, вы должны перейти в корневой каталог вашего сайта — /domains/имя-вашего-сайта/html/.
В левой панели (Локальная папка), вы должны перейти в каталог «upload», в котором находится архив.
- Папка с разархивированными файлами на компьютере.
- Папка, в которую нужно скопировать файлы.
В левой панели выделяете все каталоги и файлы, нажимаете правую клавишу мыши и выбираете пункт «Загрузить на сервер».
Через несколько минут, по окончании загрузки, вы должны увидеть в правой панели те же каталоги и файлы, что и в левой.
Если ни один из вышеописанных способов вам не помог, оставить соответствующую заявку в разделе «Техподдержка» вашего хостинг-аккаунта.
iPipe – надёжный хостинг-провайдер с опытом работы более 15 лет.
-
с NVMe SSD дисками от 299 руб/мес на SSD дисках от 142 руб/мес в наличии и под заказ в более 350 зонах
На компьютере у нас лежат файлы разного формата: видео, аудио, текстовые, графические. У каждого из них есть расширение – текст после точки в конце названия. Оно показывает, какой именно формат у данного документа, и каким приложением его можно открыть.
У архивов тоже есть свое расширение. Заглянуть внутрь и извлечь содержимое можно, имея специальные утилиты. Сегодня мы разберемся, как разархивировать файлы, какими бывают архивы, какое дополнительное программное обеспечение нам может понадобиться, где его искать и как использовать.
Что такое архивы на компьютере и для чего они нужны
Как я уже сказала, у каждого документа на компьютере, ноутбуке и в телефоне есть свое расширение, которое указывает на его формат. Архив – это не обычный файл, а как бы контейнер для хранения информации, специальная папка, которая обладает особенной способностью уменьшать размер содержимого.
Нужны такие контейнеры для того, чтобы не занимать лишнего места на диске. Также архивирование, то есть сжатие, часто используется при отправке документов по электронной почте или через облачные хранилища.
Более 100 крутых уроков, тестов и тренажеров для развития мозгаПриведу пример. У меня есть скачанный с официального сайта архив с portable-версией Telegram. Весит он 25 мегабайт, такой размер допустим даже для отправки через Google-почту. После распаковки папка весит уже не 25, а 46 мегабайт. Разница довольно существенная, правда?
Чем меньший объем занимают материалы, тем легче их скачать из интернета, выложить в сеть и переслать кому-либо.
Еще одно преимущество данного формата в том, что на архивные файлы можно установить пароль, и тогда никто посторонний не сможет их открыть. Я периодически пользуюсь этим преимуществом для отправки важной информации.
Что значит разархивировать файл
В одном архивном хранилище может находиться 1 или сразу несколько документов. Разархивировать – это значит извлечь, достать их и положить в обычную папку на диске. При этом происходит как бы копирование материалов, они останутся в архиве и продублируются в обычном виде без сжатия в указанной директории.
Как распаковать архив средствами Windows
Есть несколько основных форматов архивных документов, самые распространенные – это ZIP, RAR, 7z. Если у вас нет специального программного обеспечения для архивации и разархивации файлов, то извлечь материалы из RAR и 7z-архивов не получится.
Если же перед нами архивный файл с расширением ZIP, то открыть его можно при помощи встроенных возможностей операционной системы Windows.
Для этого кликаем по объекту правой кнопкой мыши и в выпавшем перечне опций нажимаем на пункт “Извлечь все”, затем выбираем место на диске и подтверждаем действие. Также можно зайти в архив двойным нажатием левой кнопки мыши и просто перетащить содержимое в любое место на диске, как при обычном копировании.
Если эти приемы не помогли, и Windows не справляется с задачей, в контекстном меню нет таких команд, либо перед вами хранилище с другим расширением, то понадобится дополнительное ПО, которое нужно будет установить на компьютер.
Программы для работы с архивами
Чтобы правильно сжать информацию, а затем распаковать ее и получить в первоначальном виде, есть специальное программное обеспечение. Самые популярные приложения на сегодняшний день – это 7-Zip и WinRAR. Есть, конечно, и другие решения, но я доверяю именно этим продуктам и сейчас расскажу о них подробнее.
Я давно пользуюсь этим бесплатным приложением, и оно меня вполне устраивает, работает со всеми популярными форматами документов и позволяет быстро осуществлять все необходимые действия.
После загрузки откройте файл и произведите установку. Обычно она занимает не больше полминуты.
Теперь кликните по архиву правой кнопкой мыши, в контекстном меню найдите и наведите курсор на пункт “7-Zip”, а потом выберите нужное действие.
Если мы выберем просто распаковку, то перед нами появится диалоговое окно, в котором указывается путь для хранения файлов, пароль, если он нужен, и способ перезаписи, если документ с таким именем уже существует.
Те же действия можно осуществить, если 2 раза кликнуть левой кнопкой мышки и открыть архив. Перед нами появится окно с различными опциями.
WinRAR
Теперь открываем скачанный файл и устанавливаем архиватор.
Примечание: официальную версию программы можно использовать бесплатно в течение 40 дней, затем нужно будет внести плату, которая сейчас составляет 33,38 евро, или она прекратит свою работу. Также вы можете скачать пиратскую бесплатную программу с любого известного вам сайта.
В процессе установки можно настроить параметры:
- расширения архивных документов, с которыми нужно работать;
- добавить значок WinRAR на рабочий стол и в меню “Пуск”;
- встроить WinRAR в оболочку Windows и показывать его функции в контекстном меню.
Можно оставить установки по умолчанию или отметить нужные вам пункты.
Сразу после установки можно сделать распаковку любого архива. Для этого нажимаем на него правой кнопкой мыши и кликаем по одному из действий.
При извлечении в текущую папку мы сразу увидим разархивированные материалы. Если кликнуть по второму пункту, то увидим диалоговое окно. Здесь можно выбрать:
- директорию для хранения данных;
- режим обновления;
- режим перезаписи, если в папке обнаружится документ с тем же именем;
- сохранять или нет поврежденные файлы, в некоторых случаях их можно хотя бы частично прочитать.
Также тут есть дополнительные параметры, возможно, они вам пригодятся.
Различные действия можно совершать с содержимым архива после его открытия. Для этого выбираем соответствующий пункт в контекстном меню или просто дважды кликаем левой кнопкой мыши, а затем идем в нужный нам раздел меню.
Многотомные архивы
Честно говоря, я давно не сталкивалась с таким явлением. Сейчас даже большой файл можно загрузить в облачное хранилище, если он не проходит по почте. Но иногда все же вам могут прислать такой интересный разбитый на тома архивный пакет, и нужно знать, как с ним работать. Распознать его можно по характерной приписке в конце названия “part1”, “part2” и так далее.
Укажите путь к недостающим фрагментам, иначе архиватор будет негодовать и выдаст ошибку.
Заключение
Мы с вами разобрались, как извлечь информацию из разных архивов, рассмотрели 2 самые популярные и удобные программы для этой цели. Надеюсь, у вас все получилось, и вы добрались до содержимого архивных папок. Если все же остались вопросы, вы хотите поделиться своим опытом или предложить другие классные приложения для разархивирования документов, обязательно пишите об этом в комментариях.
Читайте также: