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 — Compresses all files in the current Phar archive
= NULL
Забелешка:
Се користи за поставување на PHP лоадерот или bootstrap stub на Phar архивата на стандарден лоадер php.ini setting
phar.readonlyОвој метод бара0да биде поставено на за да работи за Phar PharException ќе биде фрлена.
For tar-based phar archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use Phar::decompress() to compress an entire tar-based phar archive.
For Zip-based and phar-based phar archives, this method compresses all files in the Phar archive using the specified compression. The zlib or bzip2 extensions must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2/zlib compression, the respective extension must be enabled in order to decompress the files prior to re-compressing. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.
Параметри
compression-
за отстранување на компресијата. Алтернативно, екстензијата на датотеката може да се специфицира со вториот параметар.
Phar::GZ,Phar::BZ2Компресијата мора да биде една одPhar::NONEза додавање компресија, или
Вратени вредности
Не се враќа вредност.
Errors/Exceptions
). Ако повикот не успее, ќе врати BadMethodCallException ако phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the 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)
Види Исто така
- PharFileInfo::getCompressedSize() - Враќа вистинска големина на датотеката (со компресија) во Phar архивата
- PharFileInfo::isCompressed() - Враќа дали ставката е компресирана
- PharFileInfo::compress() - Ја компресира тековната Phar ставка со zlib или bzip2 компресија
- PharFileInfo::decompress() - Ја декомпресира тековната Phar ставка во рамките на phar
- Phar::canCompress() - Враќа дали phar екстензијата поддржува компресија со користење на zlib или bzip2
- Phar::isCompressed() - Враќа Phar::GZ или PHAR::BZ2 ако целата phar архива е компресирана (.tar.gz/tar.bz и слично)
- Phar::compress() - Декомпресирај ги сите датотеки во тековната Phar архива
- Phar::getSupportedCompression() - Врати низа од поддржани алгоритми за компресија
- Phar::decompress() - Компресира целата Phar архива користејќи Gzip или Bzip2 компресија
- ако датотеката е компресирана во Phar архивата, - Декомпресирај ја целата Phar архива