merhaba arkadaşlar, php çok yüksek rakamlarda matematik işlemlerinde işlemi durduruyor,

kendi yazdıgım çarpma fonksiyonunu paylaşayım dedim.
Fonksiyonum sayesinde 1 milyon basamaklı sayıyı da, 10 milyon basamaklı sayıyı da, 100 milyon basamaklı sayıyı da istediğiniz sayı ile çarptırabilirsiniz.

<?

function carpfatal($contents,$carpilacak)
{
  $zimbirti2="";
  $zimbirti="";
  $kalan="0";
  
  $strlen=strlen($contents);

  for($i=1;$i<=$strlen;$i++)
  { 
    $carp=gmp_strval(gmp_mul("$carpilacak", "".$contents[$strlen-$i].""));
    $topla=gmp_strval(gmp_add($carp,$kalan));
    
    $zimbirti.=substr($topla,-1);
    $kalan=substr($topla,0,-1);
  }

  $strlen=strlen($zimbirti);

  for($i=1;$i<=$strlen;$i++)
  { 
    $zimbirti2.=$zimbirti[$strlen-$i];
  }

  $zimbirti2="$kalan$zimbirti2";
  return $zimbirti2;
}




$filename = "b.txt"; //1 milyon basamaklı sayımın olduğu txt.
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);


$filename2 = "carpacagim.txt"; //carpmak istediğim sayının olduğu txt
$handle2 = fopen($filename2, "r");
$contents2 = fread($handle2, filesize($filename2));
fclose($handle2);


$carptim=carpfatal($contents,$contents2);

$fg = fopen("c.txt","a"); //c.txt ye kaydediyorum sonucu
fwrite($fg,$carptim);
fclose($fg);

?>
az önce 8 milyon basamaklı bir sayı ile 1000 haneli bir sayıyı çarptırdım.
Sorunsuz çalışmaktadır fonksiyonum.
Kolay gelsin