From ac2096776ece80546ad3fe3b4bf94295b0130def Mon Sep 17 00:00:00 2001 From: Jack-Benny Persson Date: Sun, 1 Jun 2014 13:35:07 +0200 Subject: [PATCH] A working version is ready --- netcalc.php | 56 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 14 deletions(-) diff --git a/netcalc.php b/netcalc.php index b7e78d5..f4f4941 100644 --- a/netcalc.php +++ b/netcalc.php @@ -1,23 +1,51 @@ 32) - { - print "Please enter an integer between 0 and 32 only\n"; - exit; - } - $base=32-$value; - $netsize=pow(2, $base); - $hosts=$netsize-2; - print "$hosts\n"; + print "netcalc.php $GLOBALS[version]\n"; + print "Jack-Benny Persson \n"; + print "\n"; + print "Usage: php netcalc.php \n"; + print "Example: php netcalc.php 24\n"; } -else +// Check if first argument is set and and if not, print usage +if (!isset($argv[1])) { - print "Enter something\n"; + print_usage(); + exit(1); } +$value=$argv[1]; + +// Check if our argument was a numeric value or not +if (!is_numeric($value)) +{ + print "Please enter numbers only (between 0 and 32)\n"; + exit(1); +} + +// Check if the value is between 0 and 32 +if ($value < 0 || $value > 32) +{ + print "Please enter an integer between 0 and 32 only\n"; + exit(1); +} + +// Calculate the diffrent values +$base=32-$value; +$netsize=pow(2, $base); +$hosts=$netsize-2; +if ($hosts < 0) +{ + $hosts = 0; +} + +// And now, finally, print the values +print "Netmask: $value\n"; +print "Total number of addresses: $netsize\n"; +print "Number of usable addresses for hosts: $hosts\n"; +exit(0); + ?>