Exempel Zlib: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(0,)
 
(Ingen skillnad)

Nuvarande version från 5 december 2024 kl. 07.17

Exempel

Det här exemplet öppnar en temporär fil och skriver en teststräng till den, sedan skriver det ut innehållet i filen två gånger.

Exempel #1 Litet Zlib-exempel

<?php

$filename = tempnam('/tmp', 'zlibtest') . '.gz';
echo "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Only a test, test, test, test, test, test, test, test!\n";

// öppna filen för skrivning med maximal komprimering
$zp = gzopen($filename, "w9");

// skriv strängen till filen
gzwrite($zp, $s);

// stäng filen
gzclose($zp);

// öppna filen för läsning
$zp = gzopen($filename, "r");

// läs 3 tecken
echo gzread($zp, 3);

// skriv ut till slutet av filen och stäng den
gzpassthru($zp);
gzclose($zp);

echo "\n";

// öppna filen och skriv ut innehållet (andra gången)
if (readgzfile($filename) != strlen($s)) {
        echo "Fel med zlib-funktionerna!";
}
unlink($filename);
echo "

\n</body>\n</html>\n";

?>

Exempel #2 Använda API:et för inkrementell kompression och dekompression

<?php
// Utför GZIP-komprimering:
$deflateContext = deflate_init(ZLIB_ENCODING_GZIP);
$compressed = deflate_add($deflateContext, "Data to compress", ZLIB_NO_FLUSH);
$compressed .= deflate_add($deflateContext, ", more data", ZLIB_NO_FLUSH);
$compressed .= deflate_add($deflateContext, ", and even more data!", ZLIB_FINISH);

// Utför GZIP-dekomprimering:
$inflateContext = inflate_init(ZLIB_ENCODING_GZIP);
$uncompressed = inflate_add($inflateContext, $compressed, ZLIB_NO_FLUSH);
$uncompressed .= inflate_add($inflateContext, NULL, ZLIB_FINISH);
echo $uncompressed;
?>

Resultatet av ovanstående exempel kommer att vara:

Data to compress, more data, and even more data!

Sidslut

Orginalhemsidan på Engelska : https://www.php.net/manual/en/zlib.examples.php
PHP Funktioner Funktionsreferens Komprimerings- och arkivtillägg Zlib — Zlib Komprimering


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.