PHP的gzencode和gzdeflate以及gzcompress
参考资料 http://zhiwei.li/text/2013/04/%E7%94%A8zlib%E8%A7%A3%E5%8E%8B%E7%BC%A9gzip/ http://www.php.net/manual/en/function.gzencode.php http://stackoverflow.com/questions/621976/which-compression-method-to-use-in-php gzencode 建立一个gzip
参考资料
http://zhiwei.li/text/2013/04/%E7%94%A8zlib%E8%A7%A3%E5%8E%8B%E7%BC%A9gzip/
http://www.php.net/manual/en/function.gzencode.php
http://stackoverflow.com/questions/621976/which-compression-method-to-use-in-php
gzencode 建立一个gzip压缩的字符串
$encodingmode = FORCEGZIP 默认为强制gzip
产生的压缩数据 同 Linux下的gzip命令 兼容
$level = -1
0为不压缩
9最强压缩率
不指定,就使用zlib库的默认压缩率
在PHP 5.4.0 之前, 使用 FORCE_DEFLATE , 输出是, 在一个gzip文件头之后, 没有crc32校验, 然后是 标准的zlib压缩数据(包括zlib头)
在PHP 5.4.0及其之后, FORCE_DEFLATE输出一个 RFC1950兼容的数据(包含zlib头, 压缩数据, 以及一个adler校验)
gzip格式,用于文件压缩,能保存原始文件名和最后一次修改日期等信息
gzdeflate
使用DEFLATE数据格式 压缩, 使用DEFLATE算法, 是其他格式的基础
$encoding = ZLIBENCODINGRAW
这个函数生成纯粹的压缩数据,没有任何 头部信息和CRC信息
gzcompress
使用ZLIB 格式, 它含有简单的头部信息.
设计来在内存中使用,或者进程间通信, 有一个精简的头部和尾部信息, 并使用比gzip更快的完整性校验算法
头部是2个字节,尾部是4个字节
————–对于http协议中的gzip, 就是使用gzcompress和gzuncompress来压缩和解压缩
网上一个谬误,就是这3套函数,使用不同的算法,gzcompress使用的是什么GZIP 算法,
其实这套函数,都是使用同一套压缩算法,DEFLATE算法.
区别是gzdeflate纯压缩,没有任何头部信息
gzcompress有简单的头部信息和尾部校验
gzip有比较完整的头部信息和校验,适合于文件压缩
那种比较这3套函数的压缩率的人,纯粹是无知得滑稽可笑….
另外 pkzip格式也是使用这套算法,只不过文件头部格式的定义,跟gzip不一样
另外,在Java中也存在这种区别, GZIPOutputStream 产生的是 gzip命令兼容的格式, 要用gzdecode()才能正确解压缩
DeflaterOutputStream 产生的 ZLIB格式, 用gzuncompress解压缩
原文地址:PHP的gzencode和gzdeflate以及gzcompress, 感谢原作者分享。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.
