PHP.mk документација

Phar::buildFromDirectory

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

phar.buildfromdirectory.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека phar.buildfromdirectory.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Phar::buildFromDirectory

Референца за `phar.buildfromdirectory.php` со подобрена типографија и навигација.

phar.buildfromdirectory.php

Phar::buildFromDirectory

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::buildFromDirectoryКонструирајте phar архива од датотеките во директориум

= NULL

public function Phar::buildFromDirectory(string $directory, string $pattern = ""): array

Забелешка: Се користи за поставување на PHP лоадерот или bootstrap stub на Phar архивата на стандарден лоадер php.ini setting phar.readonly Овој метод бара 0 да биде поставено на за да работи за Phar PharException ќе биде фрлена.

Конструирај phar архива од датотеките во директориум Одлично место за почеток е со читање за.

Параметри

directory

Пополни phar архива од содржината на директориумот. Опционалниот втор параметар е регуларен израз (pcre) што се користи за исклучување датотеки. Секој назив на датотека што одговара на регуларниот израз ќе биде вклучен, сите други ќе бидат исклучени. За пофина контрола, користете

pattern

Целосната или релативна патека до директориумот што ги содржи сите датотеки што треба да се додадат во архивата.

Вратени вредности

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0) враќа асоцијативен список што го мапира внатрешниот пат на датотеката до целокупниот пат на датотеката на файловиот систем.

Errors/Exceptions

Овој метод фрла BadMethodCallException Опционален pcre регуларен израз што се користи за филтрирање на списокот со датотеки. Само патеките на датотеките што одговараат на регуларниот израз ќе бидат вклучени во архивата. PharException ако имало грешки при зачувувањето на phar архивата.

Дневник на промени

Верзија = NULL
8.1.0 (PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0) веќе не враќа false.

Примери

ако е овозможен колекторот за отпадоци, (PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0) example

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));

$phar2 = new Phar('project2.phar', 0, 'project2.phar');
// add all files in the project, only include php files
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
$phar2->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Види Исто така

Белешки од корисници 1 белешка

кога не може да се инстанцираат внатрешните итератори на директориумот, или
пред 9 години
If you want to exclude a directory from the archive (but include all the other content), the regular expression must take into consideration the whole path of the file, not just the file or directory name relative to the source folder.

As an example, if we want to exclude "nbproject" directory from the archive (and any occurrence of it):

/tmp/myfolder
  /nbproject
  /something
  /something-else
    /nbproject
  /file1.php
  /file2.php

the regex should be:
<?php
  $exclude = '/^(?!(.*nbproject))(.*)$/i';  //ignoring the case
?>

A more complete example:
<?php
    $archive_file = 'myarchive.tar';
    $folder_to_compress = '/tmp/myfolder';
    $archive = new PharData($archive_file);
    $exclude = '/^(?!(.*nbproject))(.*)$/i';  
    $archive->buildFromDirectory($folder_to_compress,$exclude);
    $archive->compress(Phar::GZ);
    unlink($archive_file); // as we already obtained a tar.gz
?>

the archive will contain:
/
  /something
  /something-else
  /file1.php
  /file2.php
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.