so I have this function that gets the remaining memory where my Laravel project is located. The thing is there are two controllers that need to check the remaining memory.
Here is what it looks like it is just inside my controller
private function convGB($bytes, $unit = "", $decimals = 2)
{
$units = array('B' => 0, 'KB' => 1, 'MB' => 2, 'GB' => 3, 'TB' => 4,
'PB' => 5, 'EB' => 6, 'ZB' => 7, 'YB' => 8);
$value = 0;
if ($bytes > 0)
{
if (!array_key_exists($unit, $units))
{
$pow = floor(log($bytes)/log(1024));
$unit = array_search($pow, $units);
}
$value = ($bytes/pow(1024,floor($units[$unit])));
}
if (!is_numeric($decimals) || $decimals < 0) {
$decimals = 2;
}
return sprintf('%.' . $decimals . 'f '.$unit, $value);
}
private function getMem()
{
$ds = disk_total_space(substr(base_path(), 0, 2));
$fs = disk_free_space(substr(base_path(), 0, 2));
$ffs = disk_free_space(substr(base_path(), 0, 2));
if ($ds >= 1073741824)
{
$ds = number_format($ds / 1073741824, 2) . ' GB';
}
elseif ($ds >= 1048576)
{
$ds = number_format($ds / 1048576, 2) . ' MB';
}
elseif ($ds >= 1024)
{
$ds = number_format($ds / 1024, 2) . ' KB';
}
elseif ($ds > 1)
{
$ds = $ds . ' B';
}
elseif ($ds == 1)
{
$ds = $ds . ' B';
}
else
{
$ds = '0 size';
}
if ($fs >= 1073741824)
{
$fs = number_format($fs / 1073741824, 2) . ' GB';
}
elseif ($fs >= 1048576)
{
$fs = number_format($fs / 1048576, 2) . ' MB';
}
elseif ($fs >= 1024)
{
$fs = number_format($fs / 1024, 2) . ' KB';
}
elseif ($fs > 1)
{
$fs = $fs . ' B';
}
elseif ($fs == 1)
{
$fs = $fs . ' B';
}
else
{
$fs = '0 size';
}
$converted = $this->convGB($ffs);
return array( $ds , $fs , $converted);
}
So I wanted to put the function in an external PHP so that I would just call it when I needed it. Any ideas on how to do this? Thanks so much!