X-Git-Url: https://git.mxchange.org/?p=shipsimu.git;a=blobdiff_plain;f=ship-simu%2Finc%2Fclasses%2Fmain%2Fconsole%2Fclass_ConsoleTools.php;fp=ship-simu%2Finc%2Fclasses%2Fmain%2Fconsole%2Fclass_ConsoleTools.php;h=c57070d2756a806c3a506ed76402c0b82751931e;hp=0000000000000000000000000000000000000000;hb=85db0cda2cdb5a801db7020aa55b6f4d969f7674;hpb=6f7c99239b34b8ff5e05d719ea24dd213f03f955 diff --git a/ship-simu/inc/classes/main/console/class_ConsoleTools.php b/ship-simu/inc/classes/main/console/class_ConsoleTools.php new file mode 100644 index 0000000..c57070d --- /dev/null +++ b/ship-simu/inc/classes/main/console/class_ConsoleTools.php @@ -0,0 +1,70 @@ +setPartDescr("Console-Tools"); + + // Create an unique ID + $this->createUniqueID(); + } + + /** + * Aquires the IP address of this host by reading the /etc/hostname file and solving it + * + * @return $ip The resolved IP address + */ + public static function aquireSelfIPAddress () { + // Local IP by default + $ip = "127.0.0.1"; + + // Get a new instance + $helper = new ConsoleTools(); + + try { + // Get a file pointer + $io = FrameworkFileInputPointer::createFrameworkFileInputPointer("/etc/hostname"); + + // Read the file + $hostname = trim($io->readFromFile()); + $helper->getDebugInstance()->output(sprintf("[%s:] Our host name is: %s
\n", + $helper->__toString(), + $hostname + )); + + // Close the file + $io->closeFile(); + + // Resolve it + $ipResolved = gethostbyname($hostname); + if (($ipResolved !== false) && ($ipResolved != $hostname)) { + // Okay, this works! + $ip = $ipResolved; + + // Debug message + $helper->getDebugInstance()->output(sprintf("[%s:] Resolved IP address is: %s
\n", + $helper->__toString(), + $ip + )); + } + } catch (FrameworkException $e) { + // Do nothing here + } + + // Return the IP address + return $ip; + } +} + +// [EOF] +?>