/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/phar/tests/zip/files/zipmaker.php.inc
70 строк
2 KB
Peter Kokot
Sync leading and final newlines in source code files
14 окт 2018, 13:56
14 окт 2018, 13:56
1ad0825
Код
Авторство
О чём код?
<?php // stolen from PEAR2_Pyrus_Developer_Creator_Zip by Greg Beaver, the original author, for use in unit tests class zipmaker { /** * Path to archive file * * @var string */ protected $archive; /** * @var ZIPArchive */ protected $zip; protected $path; function __construct($path) { if (!class_exists('ZIPArchive')) { throw new Exception( 'Zip extension is not available'); } $this->path = $path; } /** * save a file inside this package * @param string relative path within the package * @param string|resource file contents or open file handle */ function addFile($path, $fileOrStream) { if (is_resource($fileOrStream)) { $this->zip->addFromString($path, stream_get_contents($fileOrStream)); } else { $this->zip->addFromString($path, $fileOrStream); } } /** * Initialize the package creator */ function init() { $this->zip = new ZipArchive; if (true !== $this->zip->open($this->path, ZIPARCHIVE::CREATE)) { throw new Exception( 'Cannot open ZIP archive ' . $this->path ); } } /** * Create an internal directory, creating parent directories as needed * * This is a no-op for the tar creator * @param string $dir */ function mkdir($dir) { $this->zip->addEmptyDir($dir); } /** * Finish saving the package */ function close() { $this->zip->close(); } }