2002-04-15 00:12:54 +00:00
|
|
|
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
2002-10-10 04:43:47 +00:00
|
|
|
|
<!-- EN-Revision: 1.11 Maintainer: ernani Status: ready -->
|
2002-04-15 00:12:54 +00:00
|
|
|
|
<reference id="ref.zlib">
|
2002-10-10 04:43:47 +00:00
|
|
|
|
<title>Fun<EFBFBD><EFBFBD>es de Compress<73>o Zlib</title>
|
2002-04-15 00:12:54 +00:00
|
|
|
|
<titleabbrev>Zlib</titleabbrev>
|
2002-07-20 12:09:59 +00:00
|
|
|
|
|
2002-04-15 00:12:54 +00:00
|
|
|
|
<partintro>
|
2002-07-20 12:09:59 +00:00
|
|
|
|
<section id="zlib.intro">
|
|
|
|
|
&reftitle.intro;
|
|
|
|
|
<para>
|
2002-10-10 04:43:47 +00:00
|
|
|
|
Este m<>dulo lhe possibilita ler e gerar transparentemente
|
|
|
|
|
arquivos comprimidos do tipo gzip (.gz), atrav<61>s de muitas das
|
|
|
|
|
fun<75><6E>es <link linkend="ref.filesystem">filesystem</link>
|
|
|
|
|
nas quais funcionam com arquivos gzip comprimidos (e arquivos n<>o comprimidos
|
|
|
|
|
tamb<6D>m, mas n<>o com sockets).
|
2002-07-20 12:09:59 +00:00
|
|
|
|
</para>
|
|
|
|
|
<note>
|
|
|
|
|
<para>
|
2002-10-10 04:43:47 +00:00
|
|
|
|
A Vers<72>o 4.0.4 introduziu a fun<75><6E>o fopen-wrapper para arquivos .gz, ent<6E>o
|
|
|
|
|
voc<6F> pode usar o prefixo 'zlib:' especial para acessar arquivos comprimidos
|
|
|
|
|
transparentemente usando as fun<75><6E>es normais de acesso a arquivos f*() se
|
|
|
|
|
voc<6F> concatenar o nome do arquivo e ou seu caminho com o prefixo 'zlib:' quando usar a fun<75><6E>o
|
2002-07-20 12:09:59 +00:00
|
|
|
|
<function>fopen</function>.
|
|
|
|
|
</para>
|
|
|
|
|
<para>
|
2002-10-10 04:43:47 +00:00
|
|
|
|
Na vers<72>o 4.3.0, este prefixo especial foi mudado para 'zlib://'
|
|
|
|
|
para previnir ambiguidades com nome de arquivos contendo ':'.
|
2002-07-20 12:09:59 +00:00
|
|
|
|
</para>
|
|
|
|
|
<para>
|
2002-10-10 04:43:47 +00:00
|
|
|
|
Esta facilidade requer uma biblioteca em tempo de execu<63><75>o que prov<6F> a fun<75><6E>o
|
|
|
|
|
<literal>fopencookie()</literal>. Em meu conhecimento atual
|
|
|
|
|
a GNU libc <20> a <20>nica bliblioteca que prov<6F>
|
|
|
|
|
esta facilidade.
|
2002-07-20 12:09:59 +00:00
|
|
|
|
</para>
|
|
|
|
|
</note>
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<section id="zlib.requirements">
|
|
|
|
|
&reftitle.required;
|
|
|
|
|
<para>
|
2002-10-10 04:43:47 +00:00
|
|
|
|
Este m<>dulo usa as fun<75><6E>es da <ulink url="&url.zlib;">zlib</ulink>
|
|
|
|
|
por Jean-loup Gailly e Mark Adler. Voc<6F> ter<65> que usar uma vers<72>o zlib
|
|
|
|
|
>= <20> 1.0.9 com este m<>dulo.
|
2002-07-20 12:09:59 +00:00
|
|
|
|
</para>
|
|
|
|
|
</section>
|
|
|
|
|
|
2002-09-16 20:46:37 +00:00
|
|
|
|
&reference.zlib.ini;
|
2002-07-20 12:26:06 +00:00
|
|
|
|
|
|
|
|
|
<section id="zlib.resources">
|
|
|
|
|
&reftitle.resources;
|
|
|
|
|
&no.resource;
|
|
|
|
|
</section>
|
|
|
|
|
|
2002-07-20 12:09:59 +00:00
|
|
|
|
&reference.zlib.constants;
|
2002-04-15 00:12:54 +00:00
|
|
|
|
|
2002-07-20 12:09:59 +00:00
|
|
|
|
<section id="zlib.examples">
|
|
|
|
|
&reftitle.examples;
|
2002-04-15 00:12:54 +00:00
|
|
|
|
<para>
|
2002-10-10 04:43:47 +00:00
|
|
|
|
Este exemplo abre um arquivo tempor<6F>rio e gera uma string teste
|
|
|
|
|
dentro dele, ent<6E>o ela mostra o conte<74>do deste arquivo duas vezes.
|
2002-04-15 00:12:54 +00:00
|
|
|
|
</para>
|
|
|
|
|
<example>
|
2002-10-10 04:43:47 +00:00
|
|
|
|
<title>Pequeno Exemplo das fun<75><6E>es Zlib</title>
|
2002-04-15 00:12:54 +00:00
|
|
|
|
<programlisting role="php">
|
|
|
|
|
<![CDATA[
|
|
|
|
|
<?php
|
|
|
|
|
|
2002-10-10 04:43:47 +00:00
|
|
|
|
$filename = tempnam ('/tmp', 'zlibteste').'.gz';
|
2002-04-15 00:12:54 +00:00
|
|
|
|
print "<html>\n<head></head>\n<body>\n<pre>\n";
|
2002-10-10 04:43:47 +00:00
|
|
|
|
$s = "Somente um teste, teste, teste, teste, teste, teste, teste, teste!\n";
|
2002-04-15 00:12:54 +00:00
|
|
|
|
|
2002-10-10 04:43:47 +00:00
|
|
|
|
// abre o arquivo para gerar ele com a compress<73>o m<>xima
|
2002-04-15 00:12:54 +00:00
|
|
|
|
$zp = gzopen($filename, "w9");
|
|
|
|
|
|
2002-10-10 04:43:47 +00:00
|
|
|
|
// escreve a string no arquivo
|
2002-04-15 00:12:54 +00:00
|
|
|
|
gzwrite($zp, $s);
|
|
|
|
|
|
2002-10-10 04:43:47 +00:00
|
|
|
|
// fecha o arquivo
|
2002-04-15 00:12:54 +00:00
|
|
|
|
gzclose($zp);
|
|
|
|
|
|
2002-10-10 04:43:47 +00:00
|
|
|
|
// abre o arquivo para leitura
|
2002-04-15 00:12:54 +00:00
|
|
|
|
$zp = gzopen($filename, "r");
|
|
|
|
|
|
2002-10-10 04:43:47 +00:00
|
|
|
|
// l<> 3 caracteres
|
2002-04-15 00:12:54 +00:00
|
|
|
|
print gzread($zp, 3);
|
|
|
|
|
|
2002-10-10 04:43:47 +00:00
|
|
|
|
// mostra o conte<74>do at<61> o fim do arquivo e o fecha.
|
2002-04-15 00:12:54 +00:00
|
|
|
|
gzpassthru($zp);
|
|
|
|
|
|
|
|
|
|
print "\n";
|
|
|
|
|
|
2002-10-10 04:43:47 +00:00
|
|
|
|
// abre o arquivo e imprime o conte<74>do dele (pela segunda vez).
|
2002-04-15 00:12:54 +00:00
|
|
|
|
if (readgzfile($filename) != strlen($s)) {
|
2002-10-10 04:43:47 +00:00
|
|
|
|
echo "Erro com as fun<75><6E>es zlib!";
|
2002-04-15 00:12:54 +00:00
|
|
|
|
}
|
|
|
|
|
unlink($filename);
|
|
|
|
|
print "</pre>\n</h1></body>\n</html>\n";
|
|
|
|
|
|
|
|
|
|
?>
|
|
|
|
|
]]>
|
|
|
|
|
</programlisting>
|
|
|
|
|
</example>
|
|
|
|
|
</section>
|
|
|
|
|
</partintro>
|
|
|
|
|
|
|
|
|
|
&reference.zlib.functions;
|
|
|
|
|
|
|
|
|
|
</reference>
|
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
|
|
|
Local variables:
|
|
|
|
|
mode: sgml
|
|
|
|
|
sgml-omittag:t
|
|
|
|
|
sgml-shorttag:t
|
|
|
|
|
sgml-minimize-attributes:nil
|
|
|
|
|
sgml-always-quote-attributes:t
|
|
|
|
|
sgml-indent-step:1
|
|
|
|
|
sgml-indent-data:t
|
|
|
|
|
indent-tabs-mode:nil
|
|
|
|
|
sgml-parent-document:nil
|
|
|
|
|
sgml-default-dtd-file:"../../../manual.ced"
|
|
|
|
|
sgml-exposed-tags:nil
|
|
|
|
|
sgml-local-catalogs:nil
|
|
|
|
|
sgml-local-ecat-files:nil
|
|
|
|
|
End:
|
|
|
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
|
|
|
vim: et tw=78 syn=sgml
|
|
|
|
|
vi: ts=1 sw=1
|
|
|
|
|
-->
|
|
|
|
|
|