Verification: a143cc29221c9be0

Open zip file with php

Open zip file with php

Как создать ZIP архив в PowerShell с помощью Compress-Archive?

Команда Compress-Archive имеет следующий синтаксис:


Compress-Archive [-Path] String[] [-DestinationPath] String  [-CompressionLevel String ] [-Update]

  • В параметре Path задаются путь к файлам или каталогам, которые нужно заархивировать;
  • DestinationPath – указывает местоположение создаваемого ZIP файла;
  • CompressionLevel – задает уровень сжатия (NoCompression, Optimal или Fastest);
  • Update — позволяет добавить/обновить файлы в уже существующем ZIP архиве;
  • Force — если архив с указанным именем уже существует, он будет перезаписан.

Совет. Уровень сжатия NoCompression, как правило, стоит использовать при объединении в единый ZIP файл уже сжатых файлов (jpg, msi, mp3 и пр.). В этом случае, Windows не будет тратить время на их сжатие.

Чтобы заархивировать один файл, выполните:

Compress-Archive -Path "C:\Logs\WindowsUpdate.log" -DestinationPath C:\Archive\updatelog.zip -CompressionLevel Optimal

powershell архивация zip файлов с помощью командлета Compress-Archive
Можно заархивировать все содержимое нескольких каталогов (все файлы и подкаталоги):

Compress-Archive -Path C:\Logs\,C:\Logs2\ -DestinationPath C:\Archive\logs-all.zip -CompressionLevel Optimal

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

Можно добавить в ZIP архив только файлы с определенной маской. Например, следующая команда запакует только файлы с расширением *.txt.

Compress-Archive -Path C:\Logs\*.txt -DestinationPath C:\Archive\logs-txt.zip –CompressionLevel Fastest

С помощью Get-ChildItem можно использовать более сложные фильтры. Например, следующий скрипт позволит найти на диске топ 10 самых больших файлов с расширением *.docx или *.xlsx и добавит их в архив:

Get-ChildItem c:\docs -Include *.xlsx –Recurse| sort -descending -property length | select -first 10 |Compress-Archive -DestinationPath C:\temp\officefiles.zip

Чтобы добавить в существующий zip архив новые файлы, используйте ключ Update:

Compress-Archive -Path C:\Logs\,C:\logs2\ –Update -DestinationPath C:\Archive\logs-txt.zip

Примечание. Т.к. модуль Microsoft.PowerShell.Archive использует вызовы класса System.IO.Compression.ZipArchive, не получится сжать файл, размером больше 2 Гб. При попытке сжать файл большего размера появится ошибка:

Ошибка создания архива 2 Гб

Exception calling "Write" with "3" argument(s): "Stream was too long."
At  C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Archive\Microsoft.PowerShell.Archive.psm1:805
char:29
+ ...                     $destStream.Write($buffer, 0, $numberOfBytesRead)
+                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : IOException

Как распаковать ZIP архив в PowerShell с Expand-Archive?

Для разархивирования ZIP файлов можно использовать командлет ExpandArchive.
Синтаксис командлета аналогичный:

Expand-Archive [-Path] String [-DestinationPath] String [-Force]  [-Confirm]

Например, чтобы распаковать созданный нами ранее ZIP-архив в указанный каталог с перезаписью файлов, выполните:

Expand-Archive -Path C:\Scripts\test1.zip  -DestinationPath c:\scripts -Force

Expand-Archive

Из недостатков модуля архивирования PowerShell стоит отметить:

  • Нельзя просмотреть содержимое архива без его распаковки;
  • Нельзя извлечь из архива часть файлов (придется распаковать архив целиком);
  • Нельзя использовать другие форматы архивов, кроме zip;
  • Нельзя защитить zip архив с паролем.

В более сложных случаях для выполнения архивации в ваших PowerShell скриптах нужно использовать сторонние утилиты. Например, 7zip или модуль 7Zip4Powershell. Например, следующая команда позволит распаковать zip файл, защищенный паролем:

Install-Module -Name 7Zip4Powershell
Expand-7Zip -ArchiveFileName C:\PS\Logs.zip -Password "P@$$dr0w" -TargetPath C:\Temp\NewLogs

Распаковка ZIP Linux

Формат ZIP был создан в 1989 году на замену очень медленному формату ARC. Здесь используется сжатие deflate, и на то время оно работало намного быстрее чем ARC. Исторически сложилось так, что стандартным форматом для Linux стали TAR и GZ - это усовершенствованные алгоритмы сжатия и архивации. Многие графические распаковки воспринимают и ZIP-файлы. Но они обрабатывают архивы не сами, а дают команду предназначенным для этого формата утилитам.

Утилита для распаковки ZIP называется unzip, она не всегда установлена по умолчанию. Но вы можете очень просто добавить её в свою систему из официальных репозиториев. Для этого в Ubuntu выполните:

sudo apt install unzip

А в системах, использующих формат пакетов Red Hat, команда будет выглядеть немного по-другому:

sudo yum install unzip zip

После установки большинство графических утилит для работы с архивами смогут распаковать архив ZIP Linux. Команда ZIP Linux установлена на случай, если вы захотите создавать ZIP-архивы.

Но этой утилите не нужны дополнительные оболочки для распаковки архива. Вы можете сделать всё прямо из консоли. Давайте рассмотрим синтаксис утилиты:

$ unzip опции файл_архива.zip файлы -x исключить -d папка

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

Теперь рассмотрим опции утилиты, поскольку она позволяет не только распаковывать архивы, но и выполнять с ними определённые действия:

  • -l - вывести список файлов в архиве;
  • -t - протестировать файл архива на ошибки;
  • -u - обновить существующие файлы на диске;
  • -z - вывести комментарий к архиву;
  • -c - извлекать файлы на стандартный вывод, перед каждым файлом будет выводиться его имя;
  • -p - то же самое, только имя выводится не будет;
  • -f - извлечь только те файлы, которые уже существуют на диске, и файлы в архиве более новые;
  • -v - вывести всю доступную информацию;
  • -P - указать пароль для расшифровки архива;
  • -n - не перезаписывать существующие файлы;
  • -j - игнорировать структуру архива и распаковать всё в текущую папку;
  • -q - выводить минимум информации.

Все самые основные опции рассмотрели, теперь давайте рассмотрим несколько примеров работы с программой в терминале. Чтобы распаковать ZIP Linux в текущую папку, достаточно набрать:

unzip имя_файла

zip3

Причём расширение указывать не обязательно. Протестировать архив можно с помощью опции -t:

unzip -tq имя_файла.zip

zip1

Вы можете протестировать все архивы в текущей папке, выполнив:

unzip -tq \*.zip

Если нужно распаковывать архив не в текущую папку, можно очень просто указать нужную:

unzip имя_файла.zip -d /tmp

zip4

Также можно распаковывать не весь архив, а только нужные файлы или файлы нужного формата:

unzip имя_файла.zip \*.txt -d /tmp

С помощью опции -l вы можете посмотреть список файлов в архиве:

unzip -l file.zip

zip

Утилиту unzip разобрали и теперь вы с ней точно справитесь. Но я говорил, что мы рассмотрим несколько способов, как выполняется распаковка ZIP Linux. Поэтому дальше мы поговорим об утилите 7z.

Демонстрация работы утилит zip и unzip в терминале:

Как распаковать ZIP Linux с помощью 7z

7z - это кроссплатформенный набор утилит для работы с архивами. Кроме собственного формата, здесь поддерживается большое количество других, в том числе tar и zip. Плюс этой утилиты - в контекстное меню файлового менеджера будет добавлен пункт, с помощью которого вы сможете распаковывать или создавать архивы.

Для установки утилиты в Ubuntu или Debian выполните:

sudo apt install p7zip-full

А в Red Hat и CentOS:

sudo yum install p7zip

Теперь вы можете использовать контекстное меню вашего файлового менеджера, чтобы распаковать архив ZIP Linux. Также можно использовать программу в консоли. Синтаксис очень похож на unzip:

$ 7z команда опции имя_архива

Команда задаёт нужное действие. Нас будут интересовать только четыре команды:

  • e (Extract) - извлечь файлы из архива;
  • x eXtract - извлечь файлы из архива, сохраняя полный путь;
  • l (List) - список файлов архива;
  • t (Test) - проверить архив.

Теперь рассмотрим самые полезные опции:

  • -o - указать папку для распаковки;
  • -p - указать пароль;
  • -x - не извлекать эти файлы;
  • -w - указать рабочую директорию;
  • -y - отвечать положительно на все вопросы;

Ну и рассмотрим примеры работы с утилитой. Сначала проверим содержимое архива:

7z l файл.zip

zip5

Распаковываем архив, сохраняя структуру подкаталогов:

7z x файл.zip

zip6

Или распаковываем все файлы в одну папку, игнорируя подкаталоги:

7z e файл.zip

Или вы можете указать папку, в которую нужно распаковать файлы с помощью опции -o:

7z x файл.zip -o /tmp/

13 Best PHP File Manager Tools for Managing Web Servers:

FileVista

FileVista is a web-based file manager used for managing, sharing and storing of files online through web browser.

Being a web-based software; it allows you to install it in your web server for meeting the web file management needs of your organization.

FileVista facilitates your users to organize, upload and download any kind of file with its user-friendly interface.

filevista

Benefits:

  • Share the files with your staff or clients on your website.
  • Get full control over your confidential files by storing them on your own server.
  • Allow your users to upload, access and organize the documents securely from any place through a single web browser.
  • Preview images, videos, audios and documents (more than 50 file formats that include MS Office and PDF).

Download:

https://www.gleamtech.com/filevista

CKFinder

It is an easy to use and powerful Ajax based file manager for the web browser.

Its intuitive interface can be quickly learned by any level of users, from beginners to advanced professionals.

ckfinder

Benefits:

  • File uploads are safe and secure with this php file manager.
  • It includes the complete source code required for server side integration.
  • Quick response without the need to refresh the page.
  • Lightweight interface that’s user-friendly too.
  • Better management of image thumbnails for quick find of things.
  • Tree navigation folders to make it easy to navigate.
  • Get complete control with the ability to create, delete and rename files and folders.

Download:

FileRun – Free file manager based on web

FileRun is a 100% PHP (web-based) file manager that helps you to manage the files that are stored on web server.

The only thing that a user needs to send and receive files is a browser. And FileRun offers the same through its user-friendly and innovative Ajax based interface.

It is nothing to download, so it’s easy to access the files and documents from any PC that has a standard browser and an Internet connection.

filerun

Benefits:

  • The Ajax interface is user-friendly.
  • Zip the folders on the fly to download them.
  • Upload the folders without the need to Unzip or Zip them.
  • Manage the already existing files in the file system without importing them.
  • Unlimited space size to upload files of any size. It overcomes the limitation of PHP upload issues.

Download:

PHPFileNavigator

PHPFileNavigator is a open-source, state of the art web application to manage your files and folders completely.

It offers some cool features for an easy, reliable and powerful web file management.

PHPFileNavigator is not only easy to install and configure but also it enables you to administrate your folders and files as easily as in your hard disk and that too with strong security access over the net.

phpfilenavigater

Benefits:

  • Control of web access
  • Size control
  • Error and activity logs
  • Downloading of compressed directories and files
  • Extraction of files on the server
  • Facility of management of images
  • Uploading of document or web page
  • Indexation
  • The environment is safe to work on
  • Restriction on file types
  • Get complete administration
  • View directories in tree view
  • Files contain additional information

Download:

phpXplorer

phpXplorer is a file management system that’s open-source and written in PHP.

It has a modular design with built on its own themes, file types, views and property sheets.

With phpXplorer you get the ability to work and access a remote file system by using a web browser.

It has dialogs for editing PHP, HTML, email files, image, compressed files and Apache. It allows you to create and edit files on your web server with a common browser.

phpexplorer

Benefits:

  • Use a web browser to work on remote file system
  • Options to edit
  • Ability to manage permissions
  • It has modular designs
  • It offers system for multiple users
  • Editing dialogs for PHP, HTML etc.

Download:

NavPHP

PHP Navigator, written in AJAX and PHP has its own unique XP style of navigation.

Some of its key features are built in HTML, multi-user support, code editor, Deflate & Gzip webpage, and Zip Extract.

Moreover, this web based file management system is free to use.

navphp

Benefits:

  • The explorer style view and navigation is user-friendly and fully customizable.
  • DOM & AJAX for avoiding full page reload. The changes can be seen without the need to refresh the page.
  • It supports multiple users with the use of MySQL.
  • Built in Code editor and HTML editor
  • It gives a super fast data transfer speed through encoding of Deflate and Gzip web page.
  • Context menu on right click
  • Ability to download the folders or files in zip format
  • It has keyboard shortcuts offering easy usability to the users
  • It allows you to extract the zip archive in your current folder.
  • Get better management of images through Thumbnail view for png, jpg, jif, wbmp and bmp

Download:

Filenice

It is a PHP based file browser that’s free to use and useful for the ‘dump’ folder that you have on your server.

If you upload files regularly on dump folder and want the ability to see what is in it then Filenice will come to use.

filenice

Benefits:

  • Source of the code can be viewed
  • Quickly and easily send to Flickr
  • Preview the details of the files
  • Search option
  • Ability to sort based on preference
  • Post comments on folders
  • Image slideshows that are folder specific and do not require reloading of pages.

eXtplorer

eXtplorer is a free web-based file manager written in PHP and JavaScript.

Launched under dual-license, you get the option to choose to use eXplorer under GNU/GPL (General Public License) or MPL 1.1 (Mozilla Public License).

It’s PHP 4.3 compatible and the browser is updated and enabled to run Javascript.

One more interesting thing about eXtplorer is that you can use them for your local files as file manager or you can also use it for logging in to the FTP server.

extplorer

Benefits:

  • Like FTP server, get the ability to browse the files and directories on the server.
  • Facility to download, upload and search files.
  • Copy, edit, delete and move (drag and drop) files from your server.
  • Create new directories and files.
  • Extract and create archives.

Download:

AjaXplorer

It is a free and web-based file manager that’s easy to install to manage the files remotely on a web server.

The ‘rich client’ layout as well as the actions of AjaXplorer makes it convenient for the end-users for various purposes like file sharing, file management, code browsing, photo gallery, etc.

It needs only PHP 5 or 4 and requires no database.

ajaxplorer

Benefits:

  • Copy/Download/Delete/Rename/Move files or folders.
  • You can empty files and create folders.
  • Facility to watch online the flash videos.
  • It supports full screen
  • Online browsing and extraction of Zip files.
  • No need to download the MP3; you can listen them online.
  • Multiple files can be uploaded and the status can be tracked through a progress bar (need flash and no https).
  • Facilitates online viewing of images, image preview from the list, and see diaporama of any folder.
  • Edit text and code files (PHP, Java, HTML, js, Perl, SQL); the editor highlights the syntax

Download:

Easy File Uploader

It is a feature-rich file management system that allows you to upload, delete and download the files.

Also, it allows creating multiple users by giving them access permission of different files.

The dashboard has a file option that shows all the uploaded files with their upload time, name, size, etc.

easyfileuploader

Benefits:

  • It displays the thumbnails automatically for all the uploaded image files.
  • You can upload multiple files at a time and view the process of upload in progress bar.
  • A file size of up to 256MB is supported.
  • The file uploader is easy to use with drag & drop option as well as browser files clicking options.
  • It has a responsive file manager that can be easily used to upload, delete, and download different types of file.

Download:

Server File Explorer

Server File Explorer is one of the best file manager script that’s written in PHP language.

Server File Explorer is responsive, simple to apply, offers easy search for files and folders, and provide displaying of all the files in different folders.

With the help of this PHP file explorer, uploading and downloading of multiple files will just be a task of a few clicks.

serverfileexplorer

Benefits:

  • It has a simple dashboard to display file size, file name, file type and modification details.
  • In the dashboard, there is an easy search for searching the files and folders which makes the file search very easy.
  • It offers the functionality of file download with convenient file navigation between the sub folders.
  • All the plans of this file manager are backed with a well-documented support.

EasyFile

This PHP script helps you to upload files, create multiple folders, cut, copy and delete files and folders with ease.

It has an easy to deploy customizable interface and it offers a toolbar through which you can do the file management operations of different types.

easyfile

Benefits:

  • It shows the name of the file/folder, size, creation date, icon as well as the date of update.
  • Easily delete the files and folders, also you can cut & copy operations.
  • It allows managing of various types of files and folders that are stored. Additionally, it also facilitates inline folder and file name editor.
  • With this PHP file manager script, you can store files by creating folders and upload single and multiple files easily.

Download:

Engine File Manager

If you are looking for a web based file manager to manage multiple files, folders and hyperlink then Engine File Manager script in PHP should be the one for you.

It offers hotkeys and two types of panels for controlling.

Additionally, there are many different types of customization’s available like changing the file style, icons and assigning hotkeys for some special function and much more.

enginefilemanager

Benefits:

  • You get the facility to upload multiple files together at once.
  • It is cross-browser supported for Chrome, Firefox, Opera, Safari, IE11, IE10 as well as Edge.
  • With this PHP script, you can create new folders, search, delete, download and upload files.
  • It offers various customization options for file type styling, hotkeys and icons. Plus, this file system can be controlled using the hotkeys that are there on the dashboard.