Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #4508

Re: IP-Maske berechnen

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups de.comp.lang.php
Subject Re: IP-Maske berechnen
Date 2019-05-28 15:40 +0200
Organization PointedEars Software (PES)
Message-ID <1859561.oMNUckLgyt@PointedEars.de> (permalink)
References (1 earlier) <gkvm0tFarlrU1@mid.individual.net> <gkvnuaFb7ttU1@mid.individual.net> <qcebpe$1g0$1@news.albasani.net> <l3enee93lfs0934fmprni2ogvajcbalibh@neppi.net> <qchd7c$t1h$1@news.albasani.net>

Show all headers | View raw


Klaus Ketelaer wrote:

> Am 27.05.2019 um 12:22 schrieb Willi Marquart:
>> Wenn du als Parameter die Netzadresse und die Broadcastadresse
>> benutzt, also
>> 134.119.0.0 und 134.119.15.255 und die beiden als 32-Bitzahl
>> miteinander binär äquivalenz verknüpfst (auch bekannt als XNOR) dann
>> ist das Ergebnis die gesuchte Maske:

ACK, danke.
 
> Mal abgesehen davon, dass ich das am Sonntag-Vormittag
> bereits programmiert habe, wollte ich doch nur wissen,
> ob es sowas fertig gibt.
> 
>> 10000110 01110111 00000000 00000000
>> 10000110 01110111 00001111 11111110
>> -----------------------------------
>> 11111111 11111111 11110000 00000000
>> 
>> Voila, das wars.
> 
> Nicht dass die Umsetzung schwer wäre, aber ganz so banal
> ist es doch nicht, denn eine IP-Adresse besteht nunmal
> nicht aus Nullen und Einsen. Ein wenig mehr Arbeit ist
> das schon. Für meine Bedürfnisse sind es dann über 200
> Zeilen Code geworden.

Also ca. 190 zuviel:

<?php
  function ipv4_address_to_long ($ipv4_address)
  {
    $exponent = 32;
    return array_reduce(
      preg_split('/\./', $ipv4_address),
      function ($carry, $component) use (&$exponent) {
        $exponent -= 8;
        return $carry + ($component << $exponent);
      },
      0
    );
  }

  /* 16777216 */
  echo ipv4_address_to_long('1.0.0.0');

Dafür gibt es ausserdem seit Urzeiten[tm] eine PHP-Funktion:

<https://php.net/ip2long>

> Na ja, und das hätte ich mir halt sparen können, wenn es
> etwas Fertiges geben hätte.

Google^W die Suche auf php.net ist Dein Freund.  Hat mich weniger als 10 
Sekunden gekostet, die Funktion zu finden (dank Autocomplete reichte schon 
die Eingabe von “ip”).
 
> Frei nach: Es ist kein Problem, eine IP-Adresse händisch
> in eine Zahl umzurechnen, aber ip2long ist halt bequemer...

Ah, Du hast sie also auch gefunden :)

-- 
PointedEars
Zend Certified PHP Engineer <http://www.zend.com/en/yellow-pages/ZEND024953>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

Back to de.comp.lang.php | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

IP-Maske berechnen Klaus Ketelaer <noreply@spambouncer.de> - 2019-05-26 12:10 +0200
  Re: IP-Maske berechnen Claus Reibenstein <4spamersonly@kabelmail.de> - 2019-05-26 16:26 +0200
    Re: IP-Maske berechnen Ralph Aichinger <ra@pi.h5.or.at> - 2019-05-26 16:41 +0200
      Re: IP-Maske berechnen Claus Reibenstein <4spamersonly@kabelmail.de> - 2019-05-27 11:14 +0200
        Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-05-27 11:28 +0200
        Re: IP-Maske berechnen Ralph Aichinger <ra@pi.h5.or.at> - 2019-05-27 11:57 +0200
          Re: IP-Maske berechnen Willi Marquart <usenet@neppi.net> - 2019-05-27 15:28 +0200
            Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-05-27 15:36 +0200
            Re: IP-Maske berechnen Ralph Aichinger <ra@pi.h5.or.at> - 2019-05-27 15:41 +0200
    Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-05-26 16:59 +0200
      Re: IP-Maske berechnen Klaus Ketelaer <noreply@spambouncer.de> - 2019-05-26 17:36 +0200
        Re: IP-Maske berechnen Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2019-05-26 16:58 +0000
        Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-05-27 08:08 +0200
        Re: IP-Maske berechnen Willi Marquart <usenet@neppi.net> - 2019-05-27 12:22 +0200
          Re: IP-Maske berechnen Willi Marquart <usenet@neppi.net> - 2019-05-27 12:34 +0200
            Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-05-27 17:43 +0200
              Re: IP-Maske berechnen Willi Marquart <usenet@neppi.net> - 2019-05-27 18:16 +0200
              Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-05-28 11:51 +0200
                Re: IP-Maske berechnen Willi Marquart <usenet@neppi.net> - 2019-05-30 12:21 +0200
                Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-05-30 20:06 +0200
                Re: IP-Maske berechnen Willi Marquart <usenet@neppi.net> - 2019-05-31 07:57 +0200
                Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-06-01 13:17 +0200
          Re: IP-Maske berechnen Klaus Ketelaer <noreply@spambouncer.de> - 2019-05-27 21:19 +0200
            Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-05-28 02:35 +0200
              Re: IP-Maske berechnen Klaus Ketelaer <noreply@spambouncer.de> - 2019-05-28 09:24 +0200
                Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-05-28 12:05 +0200
                Re: IP-Maske berechnen Klaus Ketelaer <noreply@spambouncer.de> - 2019-05-30 09:05 +0200
                Re: IP-Maske berechnen Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2019-05-30 07:11 +0000
                Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-05-30 20:10 +0200
            Re: IP-Maske berechnen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-05-28 15:40 +0200
              Re: IP-Maske berechnen Klaus Ketelaer <noreply@spambouncer.de> - 2019-05-30 09:13 +0200
                Re: IP-Maske berechnen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-05-30 10:12 +0200
                Re: IP-Maske berechnen Klaus Ketelaer <noreply@spambouncer.de> - 2019-05-30 14:26 +0200
                Re: IP-Maske berechnen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-05-30 14:41 +0200
                Re: IP-Maske berechnen Arno Welzel <usenet@arnowelzel.de> - 2019-05-30 20:22 +0200

csiph-web