Compressing the entire archive
$phar->compress();
overrides your stub file.
Use compressFiles to have the the files compressed keeping your own stub in tact (which is not being compressed).
The compression is a little bit worth (since one file is left uncompressed), but enables you to have your own stub file executed with browser requests.
Don't get confused, compressing doesn't rise the security level of your code or obfuscating it strongly enough. The source code of your compressed phar is still easy to read.Phar::compressFiles
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Phar::compressFiles
Референца за `phar.compressfiles.php` со подобрена типографија и навигација.
Phar::compressFiles
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::compressFiles — Ги компресира сите датотеки во моменталната Phar архива
= NULL
Забелешка: Се користи за поставување на PHP лоадерот или bootstrap stub на Phar архивата на стандарден лоадер php.ini setting
phar.readonlyОвој метод бара0да биде поставено на за да работи за Phar PharException ќе биде фрлена.
За tar-базирани phar архиви, овој метод фрла BadMethodCallException, бидејќи компресијата на индивидуални датотеки во tar архива не е поддржана од формат на датотеката. Користете Phar::decompress() за компресирање на цела tar-базирана phar архива.
За Zip-базирани и phar-базирани phar архиви, овој метод ги компресира сите датотеки во Phar архивата користејќи ја наведената компресија. На zlib or bzip2 екстензиите мора да бидат овозможени за да се искористи оваа функција. Дополнително, ако некои датотеки се веќе компресирани со помош на bzip2/zlib компресија, соодветната екстензија мора да биде овозможена за да се декомпресираат датотеките пред повторно компресирање. Како и со целата функционалност што ги менува содржините на phar, phar.readonly INI променливата мора да биде исклучена за да успее.
Параметри
compression-
за отстранување на компресијата. Алтернативно, екстензијата на датотеката може да се специфицира со вториот параметар.
Phar::GZ,Phar::BZ2Компресијата мора да биде една одPhar::NONEза додавање компресија, или
Вратени вредности
Не се враќа вредност.
Errors/Exceptions
). Ако повикот не успее, ќе врати BadMethodCallException ако phar.readonly INI променливата е вклучена, zlib екстензијата не е достапна, или ако некои датотеки се компресирани со помош на bzip2 компресија и bzip2 екстензијата не е овозможена.
Примери
ако е овозможен колекторот за отпадоци, Phar::decompressFiles() example
<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
string(10) "myfile.txt" bool(false) bool(false) bool(false) string(11) "myfile2.txt" bool(false) bool(false) bool(false) string(10) "myfile.txt" int(4096) bool(false) bool(true) string(11) "myfile2.txt" int(4096) bool(false) bool(true)
Види Исто така
- PharData::decompressFiles() - Враќа вистинска големина на датотеката (со компресија) во Phar архивата
- PharFileInfo::getCompressedSize() - Враќа дали ставката е компресирана
- PharFileInfo::isCompressed() - Ја компресира тековната Phar ставка со zlib или bzip2 компресија
- PharFileInfo::compress() - Ја декомпресира тековната Phar ставка во рамките на phar
- PharFileInfo::decompress() - Враќа дали phar екстензијата поддржува компресија со користење на zlib или bzip2
- Phar::canCompress() - Враќа Phar::GZ или PHAR::BZ2 ако целата phar архива е компресирана (.tar.gz/tar.bz и слично)
- Phar::compress() - Декомпресирај ги сите датотеки во тековната Phar архива
- PharData::compressFiles() - Врати низа од поддржани алгоритми за компресија
- Phar::decompress() - Компресира целата Phar архива користејќи Gzip или Bzip2 компресија
- ако датотеката е компресирана во Phar архивата, - Декомпресирај ја целата Phar архива