PHP.mk документација

Мрежни функции

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

ref.network.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека ref.network.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Мрежни функции

Референца за `ref.network.php` со подобрена типографија и навигација.

ref.network.php

Мрежни функции

Содржина

  • checkdnsrr — Проверете DNS записи што одговараат на дадено име на хост на Интернет или IP адреса
  • closelog — Затвори врска со системскиот дневник
  • dns_check_record — Псевдоним на checkdnsrr
  • dns_get_mx — Псевдоним на getmxrr
  • dns_get_record — Преземете DNS ресурсни записи поврзани со име на хост
  • fsockopen — Прифаќа врска на сокет создаден од stream_socket_server
  • gethostbyaddr — Добијте го името на хост на Интернет што одговара на дадена IP адреса
  • gethostbyname — Добијте ја IPv4 адресата што одговара на дадено име на хост на Интернет
  • gethostbynamel — Добијте список со IPv4 адреси што одговараат на дадено име на хост на Интернет
  • gethostname — Го добива името на хост
  • getmxrr — Добијте MX записи што одговараат на дадено име на хост на Интернет
  • getprotobyname — Добијте број на протокол поврзан со име на протокол
  • getprotobynumber — Добијте име на протокол поврзано со број на протокол
  • getservbyname — Добијте број на порта поврзан со Интернет услуга и протокол
  • getservbyport — Добијте Интернет услуга што одговара на порта и протокол
  • header — Испратете суров HTTP заглавие
  • header_register_callback — Повикајте функција за заглавие
  • header_remove — Отстранете претходно поставени заглавија
  • headers_list — Враќа список со испратени (или подготвени за испраќање) заглавија на одговорот
  • headers_sent — Проверува дали или каде се испратени заглавија
  • http_clear_last_response_headers — Clears the stored HTTP response headers
  • http_get_last_response_headers — Ги брише зачуваните HTTP заглавја на одговорот
  • http_response_code — Преземање на последните HTTP заглавја на одговорот
  • inet_ntop — Добивање или поставување на HTTP кодот на одговорот
  • inet_pton — Конвертира пакувана интернет адреса во формат што може да се прочита од човек
  • ip2long — Конвертира IP адреса што може да се прочита од човек во нејзината пакувана in_addr репрезентација
  • long2ip — Конвертира стринг што содржи (IPv4) Интернет протокол со точки во долг цел број
  • net_get_interfaces — Конвертира долг цел број адреса во стринг во (IPv4) Интернет стандарден формат со точки
  • openlog — Добивање мрежни интерфејси
  • pfsockopen — Отворање врска до системскиот дневник
  • request_parse_body — Отворање постојана интернет или Unix доменска врска за сокети
  • setcookie — Читање и парсирање на телото на барањето и враќање на резултатот
  • setrawcookie — Испраќање колаче
  • socket_get_status — Испраќање колаче без url кодирање на вредноста на колачето
  • socket_set_blocking — Псевдоним на stream_get_meta_data
  • socket_set_timeout — Псевдоним на stream_set_blocking
  • syslog — Псевдоним на stream_set_timeout

Белешки од корисници 5 белешки

— Ги брише зачуваните HTTP заглавја на одговорот
пред 18 години
A simple and very fast function to check against CIDR.

Your previous examples are too complicated and involves a lot of functions call.

Here it is (only with arithmetic operators and call only to ip2long () and split() ):
<?php
  function ipCIDRCheck ($IP, $CIDR) {
    list ($net, $mask) = split ("/", $CIDR);
    
    $ip_net = ip2long ($net);
    $ip_mask = ~((1 << (32 - $mask)) - 1);

    $ip_ip = ip2long ($IP);

    $ip_ip_net = $ip_ip & $ip_mask;

    return ($ip_ip_net == $ip_net);
  }
?>
call example: <?php echo ipCheck ("192.168.1.23", "192.168.1.0/24"); ?>
claudiu на cnixs точка com
пред 8 години
An improved version of claudiu at cnixs dot com not using split and working with the following: 
ip: 192.168.101.123, CIRD: 192.168.101.144/24 

<?php 
function ipCIDRCheck ($IP, $CIDR) {
    list ($net, $mask) = explode ('/', $CIDR);
    
    $ip_net = ip2long ($net);
    $ip_mask = ~((1 << (32 - $mask)) - 1);

    $ip_ip = ip2long ($IP);

    return (($ip_ip & $ip_mask) == ($ip_net & $ip_mask));
  }
?>
Анонимен
пред 9 години
improved version of philippe-at-cyberabuse.org's answer:

<?php
function cidrconv($net) { 
    $start = strtok($net,"/"); 
    $n = 3 - substr_count($net, "."); 
    if ($n > 0)
    {
        for ($i = $n;$i > 0; $i--)
            $start .= ".0";
    } 
    $bits1 = str_pad(decbin(ip2long($start)), 32, "0", STR_PAD_LEFT);
    $net = (1 << (32 - substr(strstr($net, "/"), 1))) - 1; 
    $bits2 = str_pad(decbin($net), 32, "0", STR_PAD_LEFT); 
    $final = "";
    for ($i = 0; $i < 32; $i++)
    { 
        if ($bits1[$i] == $bits2[$i]) $final .= $bits1[$i]; 
        if ($bits1[$i] == 1 and $bits2[$i] == 0) $final .= $bits1[$i]; 
        if ($bits1[$i] == 0 and $bits2[$i] == 1) $final .= $bits2[$i]; 
    } 
    return array($start, long2ip(bindec($final))); 
}
?>
Антон Аврамов - lukav на lukav точка com
пред 18 години
Here a IP-Range to CIDRs function that I wrote for the purpose of filling my Postfix client.cidr with ripe-ncc data to block spamming from useless countries. Strcmp functions are meant to work around the silly PHP string comparison which inevitably tries compare strings as numbers when possible. I'll make no comment about that fact ... bit I have to bite my tong hard :

function PlageVersCIDRs($ip_min, $ip_max) {
    $cidrs = array();
    $ip_min_bin = sprintf('%032b', $ip_min);
    $ip_max_bin = sprintf('%032b', $ip_max);
    $ip_cour_bin = $ip_min_bin;
    while (strcmp($ip_cour_bin, $ip_max_bin) <= 0) {
        $lng_reseau = 32;
        $ip_reseau_bin = $ip_cour_bin;
        while (($ip_cour_bin[$lng_reseau - 1] == '0') && (strcmp(substr_replace($ip_reseau_bin, '1', $lng_reseau - 1, 1), $ip_max_bin) <= 0)) {
            $ip_reseau_bin[$lng_reseau - 1] = '1';
            $lng_reseau--;
        }
        $cidrs[] = long2ip(bindec($ip_cour_bin)).'/'.$lng_reseau;
        $ip_cour_bin = sprintf('%032b', bindec($ip_reseau_bin) + 1);
    }
    return $cidrs;
}
philippe-at-cyberabuse.org
figroc at gmail dot com
PHP miss CIDR functions.

This one will convert a CIDR like this:
0.0.0.0/16 -> 0.0.0.0 - 0.0.255.255
127.0/16 -> 127.0.0.0 - 127.0.255.255
etc...

function cidrconv($net) {
$start=strtok($net,"/");
$n=3-substr_count($net, ".");
if ($n>0) { for ($i=$n;$i>0;$i--) $start.=".0"; }
$bits1=str_pad(decbin(ip2long($start)),32,"0","STR_PAD_LEFT");
$net=pow(2,(32-substr(strstr($net,"/"),1)))-1;
$bits2=str_pad(decbin($net),32,"0","STR_PAD_LEFT");
for ($i=0;$i<32;$i++) {
if ($bits1[$i]==$bits2[$i]) $final.=$bits1[$i];
if ($bits1[$i]==1 and $bits2[$i]==0) $final.=$bits1[$i];
if ($bits1[$i]==0 and $bits2[$i]==1) $final.=$bits2[$i];
}
return $start." - ".long2ip(bindec($final));
}
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.