takuya / php-7z-cmd-wrapper
7z Archiver Command Wrapper
0.1.1
2022-06-17 09:17 UTC
Requires
- php: >=7.3
- takuya/process: ^1.3
Requires (Dev)
- larapack/dd: ^1.1
- phpunit/phpunit: ^9.5
- takuya/php-mktempfile: ^1.0
This package is auto-updated.
Last update: 2024-08-24 15:38:29 UTC
README
7z command supports several type of archive.
requirements
sudo apt install p7zip-full
rar will be installed as non-free
sudo apt install p7zip-rar # debian non-free
usage
Access with file name.
$a7z = new Archive7zReader("sample.zip"); foreach( $a7z->files() as $name) { $bin = $a7z->conent($name); }
Access with index.
$a7z = new Archive7zReader("sample.zip"); $bin = $a7z->at(0);
limitations
currently, this project aimed at READING archive. write/append not yet.
character encodings.(reading archive)
7z
command will encode filenames by shell ENV[LANG].
So we should take care of encoding using shell env LANG='XXX' and php mb_string.
cp932(jp/windows/filename) example. #01 using utf8
$a = new Archive7zReader($f); $a->setLang('ja_JP.UTF8'); $file_name = $a->files()[1]; $file_name = $name = mb_convert_encoding($file_name,"UTF8","UTF8,CP932");
cp932(jp/windows/filename) example. #02 using cp932
$a = new Archive7zReader($f); $a->setLang('ja_JP.SJIS'); $file_name = $a->files()[1]; $file_name = $name = mb_convert_encoding($file_name,"UTF8","CP932");
Installation from github
repo=git@github.com:takuya/php-7z-cmd-wrapper.git
composer config repositories.takuya/php-7z-cmd-wrapper vcs $repo
composer require takuya/php-7z-cmd-wrapper
Installation from packagist
composre require takuya/php-7z-cmd-wrapper