PharData::convertToData
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
PharData::convertToData
Референца за `phardata.converttodata.php` со подобрена типографија и навигација.
PharData::convertToData
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::convertToData — Конвертирај phar архива во извршна tar или zip датотека
= NULL
$format = null, ?int $compression = null, ?string $extension = null): ?PharDataОвој метод се користи за конвертирање на не-извршна tar или zip архива во друг не-извршен формат.
Ако не се специфицирани промени, овој метод фрла BadMethodCallException. Овој метод треба да се користи за конвертирање на tar архива во zip формат или обратно. Иако е можно едноставно да се промени компресијата на tar архива користејќи го овој метод, подобро е да се користи За архиви базирани на tar, овој метод фрла методот за логичка конзистентност.
Ако е успешно, методот создава нова архива на дискот и враќа PharData објект. Старата архива не се отстранува од дискот и треба да се направи рачно откако ќе заврши процесот.
Параметри
format-
Ова треба да биде едно од
Phar::TARorPhar::ZIP. Ако е поставено наnull, постоечкиот формат на датотеката ќе биде зачуван. compression-
Ова треба да биде едно од
Phar::NONEза компресија без цела архива,Phar::GZза компресија базирана на zlib, иPhar::BZ2за компресија базирана на bzip. extension-
Овој параметар се користи за да се надмине стандардното проширување на датотеката за конвертирана архива. Имајте предвид дека
.pharне може да се користи никаде во името на датотеката за не-извршна tar или zip архива.Ако конвертирате во tar-базирана phar архива, стандардните проширувања се
.tar,.tar.gzПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во.tar.bz2во зависност од специфицираната компресија. За zip-базирани архиви, стандардното проширување е.zip.
Errors/Exceptions
Овој метод фрла BadMethodCallException кога не може да се компресира, е специфициран непознат метод за компресија, бараната архива се баферира со Иако технички непотребен, и не завршил со Меѓутоа, ова може да биде непотребно кога едноставно се креира нова Phar архива, кога би имало повеќе смисла да се запише целата архива одеднаш. Слично на тоа, често е потребно да се направат низа промени и да се осигура дека сите се можни пред да се направат какви било промени на дискот, слично на концептот на трансакции во релациона база на податоци. , и а PharException ако се појават какви било проблеми за време на процесот на креирање на phar.
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.0.0 |
format, compressionПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во extension се сега null.
|
Примери
ако е овозможен колекторот за отпадоци, (PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0) example
Користење на PharData::convertToData():
<?php
try {
$tarphar = new PharData('myphar.tar');
// note that myphar.tar is *not* unlinked
// convert it to the non-executable tar file format
// creates myphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// create myphar.tbz
$tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// creates myphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
// handle the error here
}
?>Види Исто така
- се фрла ако параметарот е непознат спецификатор на формат на датотека. - Конвертирај phar архива во друг извршен phar формат на датотека
- Phar::convertToExecutable() - Конвертирај phar архива во не-извршна tar или zip датотека
- PharData::convertToData() - Компресира сите датотеки во тековната tar/zip архива