note 111510 modified in function.gzinflate by danbrown

From: Date: Mon, 04 Mar 2013 17:48:35 +0000
Subject: note 111510 modified in function.gzinflate by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-193824@lists.php.net to get a copy of this message
The code below illustrates usage of the second parameter, in particular to protect against fatal out-of-memory errors. It outputs: 1000000 1000000 error Tested with PHP 5.3 on 32bit Linux. <?php function tryToGzinflate($deflatedData, $maxLen = 0) { $data = gzinflate($deflatedData, $maxLen); if ($data === false) echo 'error<br>'; else echo strlen($data).'<br>'; } // random data: $data = ''; for ($i = 0; $i < 1000000; $i++) $data .= chr(mt_rand(97, 122)); // a-z $deflatedData = gzdeflate($data); ini_set('memory_limit', '5M'); // plenty of memory tryToGzinflate($deflatedData); tryToGzinflate($deflatedData, strlen($data)); ini_set('memory_limit', '100'); // little memory tryToGzinflate($deflatedData, 100); tryToGzinflate($deflatedData); // causes fatal out-of-memory error ?> --was-- The code below illustrates usage of the second parameter, in particular to protect against fatal out-of-memory errors. It outputs: 1000000 1000000 error Tested with PHP 5.3 on 32bit Linux. <?php function tryToGzinflate($deflatedData, $maxLen = 0) { $data = gzinflate($deflatedData, $maxLen); if ($data === false) echo 'error<br>'; else echo strlen($data).'<br>'; } // random data: $data = ''; for ($i = 0; $i < 1000000; $i++) $data .= chr(mt_rand(97, 122)); // a-z $deflatedData = gzdeflate($data); ini_set('memory_limit', '5M'); // plenty of memory tryToGzinflate($deflatedData); tryToGzinflate($deflatedData, strlen($data)); ini_set('memory_limit', '100'); // little memory tryToGzinflate($deflatedData, 100); tryToGzinflate($deflatedData); // causes fatal out-of-memory error http://php.net/manual/en/function.gzinflate.php

« previous php.notes (#193824) next »