Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
optometrists
/
cache
/
cache
/
cache
/
.wp-cli
/
wp-content
/
plugins
/
wp-phpmyadmin-extension
/
lib
/
phpMyAdmin
/
libraries
/
classes
/
Utils
:
FormatConverter.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Format converter */ declare(strict_types=1); namespace PhpMyAdmin\Utils; use PhpMyAdmin\Util; use function bin2hex; use function hex2bin; use function inet_ntop; use function inet_pton; use function ip2long; use function long2ip; use function strpos; use function substr; /** * Format converter */ class FormatConverter { /** * Transforms a binary to an IP * * @param mixed $buffer Data to transform * * @return false|string */ public static function binaryToIp($buffer, bool $isBinary) { if (strpos($buffer, '0x') !== 0) { return $isBinary ? bin2hex($buffer) : $buffer; } $ipHex = substr($buffer, 2); $ipBin = hex2bin($ipHex); if ($ipBin === false) { return $buffer; } return @inet_ntop($ipBin); } /** * Transforms an IP to a binary * * @param mixed $buffer Data to transform * * @return string */ public static function ipToBinary($buffer) { $val = @inet_pton($buffer); if ($val !== false) { return '0x' . bin2hex($val); } return $buffer; } /** * Transforms an IP to a long * * @param string $buffer Data to transform * * @return int|string */ public static function ipToLong(string $buffer) { $ipLong = ip2long($buffer); if ($ipLong === false) { return $buffer; } return $ipLong; } /** * Transforms a long to an IP * * @param mixed $buffer Data to transform */ public static function longToIp($buffer): string { if (! Util::isInteger($buffer) || $buffer < 0 || $buffer > 4294967295) { return $buffer; } return (string) long2ip((int) $buffer); } }