zlib://

bzip2://

zip://

zlib:// -- bzip2:// -- zip:// β€” Π‘ΠΆΠ°Ρ‚Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ

ОписаниС

compress.zlib:// ΠΈ compress.bzip2://

ΠžΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° zlib: Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ функция gzopen(), Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ с этим ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ смоТСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ функция fread() ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой. ΠžΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° устарСла ΠΈΠ·-Π·Π° нСоднозначности ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат ':'; вмСсто Π½Π΅Ρ‘ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΎΠΉ compress.zlib://.

ΠžΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ compress.zlib:// ΠΈ compress.bzip2:// эквивалСнты функциям gzopen() ΠΈ bzopen() соотвСтствСнно ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΄Π°ΠΆΠ΅ Π² систСмах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ fopencookie.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ZIP добавляСт ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ zip:. Начиная с PHP 7.2.0 ΠΈ libzip 1.2.0+ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ для Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ², Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· контСксты ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². ΠŸΠ°Ρ€ΠΎΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ 'password'.

ИспользованиС

  • compress.zlib://file.gz
  • compress.bzip2://file.bz2
  • zip://archive.zip#dir/file.txt

ΠžΠΏΡ†ΠΈΠΈ

Основная информация
Атрибут ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°
ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ allow_url_fopen НСт
Π§Ρ‚Π΅Π½ΠΈΠ΅ Π”Π°
Π—Π°ΠΏΠΈΡΡŒ Π”Π° (ΠΊΡ€ΠΎΠΌΠ΅ zip://)
Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π”Π° (ΠΊΡ€ΠΎΠΌΠ΅ zip://)
ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись НСт
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° stat() НСт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ file:// для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ сТатым Ρ„Π°ΠΉΠ»Π°ΠΌ.
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° unlink() НСт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ file:// для удалСния сТатых Ρ„Π°ΠΉΠ»ΠΎΠ².
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° rename() НСт
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° mkdir() НСт
ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° rmdir() НСт

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 2 notes

up
20
lewa::cpan.org ΒΆ
9 years ago
One-liners to gzip and ungzip a file:

copy('file.txt', 'compress.zlib://' . 'file.txt.gz');

copy('compress.zlib://' . 'file.txt.gz', 'file.txt');
up
13
alvaro at demogracia dot com ΒΆ
15 years ago
Example on how to read an entry from a ZIP archive (file "bar.txt" inside "./foo.zip"):

<?php

$fp = fopen('zip://./foo.zip#bar.txt', 'r');
if( $fp ){
    while( !feof($fp) ){
        echo fread($fp, 8192);
    }
    fclose($fp);
}

?>

Also, apparently, the "zip:" wrapper does not allow writing as of PHP/5.3.6. You can read http://php.net/ziparchive-getstream for further reference since the underlying code is probably the same.