PHP 8.5.0 Alpha 4 available for testing

Voting

: min(nine, zero)?
(Example: nine)

The Note You're Voting On

felix dot klee at inka dot de
12 years ago
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
?>

<< Back to user notes page

To Top