<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ``` /** * 是否為合法的IPv4地址 * @param $ipv4 * @return mixed */ function is_valid_ipv4($ipv4) { return filter_var($ipv4, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4); } /** * 是否為合法的IPv6地址 * @param $ipv6 * @param bool $simplify * @return bool|mixed|string * */ function is_valid_ipv6($ipv6, $simplify=TRUE) { $ipv6 = filter_var($ipv6, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6); if ($simplify and $ipv6){ $tmp = unpack('N*', inet_pton($ipv6)); $ipv6 = inet_ntop(pack('N*', $tmp[1], $tmp[2], $tmp[3], $tmp[4])); // 避免::ffff:1.1.1.1的格式轉成1.1.1.1 if (empty($tmp[1]) && empty($tmp[2]) && empty($tmp[3])) { return inet_ntop(pack('N', $tmp[4])); } } return $ipv6; } /** * 判斷ip地址是否在某個ip范圍內,不適用ipv6 * @param $star_ip:起始ip范圍地址 * @param $end_ip:結束ip范圍地址 * @param $ip:需要判斷的ip地址 * @return bool 是true否false */ function contrast_ip_range($star_ip, $end_ip, $ip) { if ($ip == $star_ip || $ip == $end_ip) { return true; } $star_ip_array = explode('.', $star_ip); $end_ip_array = explode('.', $end_ip); $ip_array = explode('.', $ip); foreach ($star_ip_array as $key => $value) { //起始地址小于等于目標地址且結束地址大于目標地址,則代表在范圍內 if ($value <= $ip_array[$key] && $end_ip_array[$key] > $ip_array[$key]) { return true; } elseif ($value > $ip_array[$key] || $end_ip_array[$key] < $ip_array[$key]) { return false; } } return false; } /* * ip地址高位補0 * @param string $ip 192.16.1.12 / 2001:240:1024::125a:2fd * @return string $new_ip 192.016.001.012 / 200102401024000000000000125a02fd * */ function ip_to_full($ip) { // ipv4范圍內ipv6轉為ipv4 $ip = ip_v6v4to_v4($ip); if (stripos($ip, ':') !== false) { if (stripos($ip, '::') !== false) { $arr = explode('::', $ip); $ip_arr1 = explode(':', $arr[0]); $ip_arr2 = explode(':', $arr[1]); $differ = 8 - count($ip_arr1) - count($ip_arr2); for ($i = 0; $i < $differ; $i++) { $ip_arr1[] = '0000'; } $ip_arr = array_merge($ip_arr1, $ip_arr2); foreach ($ip_arr as &$val) { $val = str_pad($val, 4, '0', STR_PAD_LEFT); } $new_ip = implode('', $ip_arr); } else { $ip_arr = explode(':', $ip); foreach ($ip_arr as &$val) { $val = str_pad($val, 4, '0', STR_PAD_LEFT); } $new_ip = implode('', $ip_arr); } } else { $ip_arr = explode('.', $ip); foreach ($ip_arr as &$val) { $val = str_pad($val, 3, '0', STR_PAD_LEFT); } $new_ip = implode('.', $ip_arr); } return $new_ip; } /* * ip轉換為點分十進制或冒分十六進制 * @param string $ip 192.016.001.012 / 200102401024000000000000125a02fd * @return string $new_ip 192.16.1.12 / 2001:240:1024::125a:2fd * */ function convert_ip_express($ip) { if (strlen($ip) == 32) { $ip_arr = []; for ($i = 0; $i < 29; $i = $i + 4) { $ip_arr[] = substr($ip, $i, 4); } //用作判斷是否存在0000 $is_zero = false; $arr1 = []; $arr2 = []; foreach ($ip_arr as $val) { if ($val == '0000') { $is_zero = true; continue; } //去掉前導0 $val = ltrim($val, '0'); if ($is_zero == false) { $arr1[] = $val; } else { $arr2[] = $val; } } if (empty($arr2)) { $new_ip = implode(':', $arr1); } else { $new_ip = implode(':', $arr1) . '::' . implode(':', $arr2); } } else { $ip_arr = explode('.', $ip); foreach ($ip_arr as &$val) { //去掉前導0 $val = ltrim($val, '0'); $val = empty($val) ? "0" : $val; } $new_ip = implode('.', $ip_arr); } return $new_ip; } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看