承接 aldin-sxr/ip-format-tools 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aldin-sxr/ip-format-tools

Composer 安装命令:

composer require aldin-sxr/ip-format-tools

包简介

A collection of utilities for working with IPv4/IPv6 addresses.

README 文档

README

Build Status

This is a small collection of useful methods related to working with IP addresses. Right now, the library provides the ability to convert both IPv4 and IPv6 addresses to long integers, as well as vice versa. Moreover, the library also provides a way to represent IPv4 addresses in IPv6 format (e.g. 34.26.0.75 => ::ffff:221a:4b)

Installation

The library is available via Composer.

composer require aldin-sxr/ip-format-tools

After installing, include vendor/autoload.php and the IPFormat namespace to your project.

<?php

require_once 'vendor/autoload.php';
use IPFormat\IPFormat;

Please note that the library requires either the GMP or BCMath extension for working with large integers (which are seen in IPv6). GMP is recommended, as it offers a better performance.

Usage

The library offers three main methods:

  • IPFormat::ip_to_long()
  • IPFormat::long_to_ip()
  • IPFormat::ipv4_to_ipv6()

ip_to_long() takes an IPv4 or IPv6 address and returns a corresponding long integer.

echo IPFormat::ip_to_long('89.0.245.117'); // 1493235061
echo IPFormat::ip_to_long('fd44:5ff2:3::76cd'); // 336649705122095386261522076515346446029

long_to_ip() takes a long integer and returns a corresponding IPv4 or IPv6 address.

echo IPFormat::long_to_ip(45678892); // 2.185.1.44
echo IPFormat::long_to_ip('567235998141'); // ::84:11e6:71bd

ipv4_to_ipv6() takes an IPv4 address and returns in one of the three IPv6 formats.

The compressed flag (default) returns a compressed IPv6 address (leading zeroes are ommitted, and groups of zeroes are replaced with ::). The shortened flag shortens groups of zeroes to a single zero, but does not omit groups from the address. The expanded flag returns the full, expanded IPv6 address.

echo IPFormat::ipv4_to_ipv6('34.26.0.75', 'compressed'); // ::ffff:221a:4b
echo IPFormat::ipv4_to_ipv6('34.26.0.75', 'shortened'); // 0:0:0:0:0:ffff:221a:004b
echo IPFormat::ipv4_to_ipv6('34.26.0.75', 'expanded'); // 0000:0000:0000:0000:0000:ffff:221a:004b

Documentation

Library documentation was generated using phpDocumentor, and is available at: https://aldin-sxr.github.io/ip-format-tools/

Testing

All library methods come with several unit tests in PHPUnit, which are available under tests/unit.

License

The library is licensed under the MIT license. See the LICENSE file for details.

统计信息

  • 总下载量: 45
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-10-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固