1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| $infos = getimagesize($_FILES['photo']['tmp_name']);
$width = $infos[0];
$height = $infos[1];
$bit = $infos['bits'];
$channel = $infos['channels'];
//en octets
$m_used = memory_get_usage();
//en Mo
$mem_used = round($m_used / pow(1024,2),2).'M';
//calcul de mémoire utilisé pour le traitement de l'image
$m_need = round(($width * $height * $bit * $channel / 8 + pow(2, 16)) * 1.65);
//la memoire limite du server
$m_limit = (integer) ini_get('memory_limit') * pow(1024, 2);
//la mémoire à allouer pour eviter la Fatal error
$m_aloc = $m_need - $m_limit;
$m_aloc += $m_used;//on ajoute la mémoire déjà utilisé
//on convertit en Mo
$memory = round($m_aloc / pow(1024,2),2);
echo "<hr />taille: $width x $height px<br />nb de bits: $bit<br />canaux: $channel<hr /><br />";
echo 'Memoire utilisé par le script : '.$mem_used;
echo '<hr />Mémoire utilisée pour la redimension : '.round($m_need / pow(1024,2),2).'M ';
echo '<hr />Mémoire possible : '.round($m_limit / pow(1024,2),2).'M<br />';
echo "<hr />Manque de mémoire : $memory M<br />"; |
Partager