de_Alex: Zahl aus URL einer Seite generieren

Hallo!

Ich würde gerne mit einer php-Funktion aus der URL einer Seite, also
z.B. http://host.de/bla/bla.php
eine Zahl generieren lassen.

Wie wäre sowas möglich?

  1. Hi!

    Ich würde gerne mit einer php-Funktion aus der URL einer Seite, also
    z.B. http://host.de/bla/bla.php
    eine Zahl generieren lassen.

    Wie wäre sowas möglich?

    Du willst aus dem String, z.B. "http://host.de/bla/bla.php" irgendeine Zahl generieren? Was soll das für eine Zahl sein? Eine Zufallszahl? Soll dieselbe URL immer dieselbe Zahl ergeben? Du könntest eine Prüfsumme verwenden, sowas wie chsum().

    Grüße
    Andreas

    1. Du willst aus dem String, z.B. "http://host.de/bla/bla.php" irgendeine Zahl generieren? Was soll das für eine Zahl sein? Eine Zufallszahl? Soll dieselbe URL immer dieselbe Zahl ergeben? Du könntest eine Prüfsumme verwenden, sowas wie chsum().

      Erstmal danke für die schnelle Antwort. Es ist sogar _sehr wichtig_, dass dieselbe URL immer dieselbe Zahl ergibt, da ich diese zur eindeutigen Identifizierung der Seite heranziehen will. Eine Zufallszahl scheidet daher aus. Könntest Du mir- da ich PHP-Newbie bin - eine Funktion aufzeigen, die

      • die aktuelle URL (jene, in der die Funktion aufgerufen wird) ausliest
      • diese - als eindeutige Zahl verschlüsselt - als Variable ausgibt ?
      1. Hi!

        Erstmal danke für die schnelle Antwort. Es ist sogar _sehr wichtig_, dass dieselbe URL immer dieselbe Zahl ergibt, da ich diese zur eindeutigen Identifizierung der Seite heranziehen will. Eine Zufallszahl scheidet daher aus. Könntest Du mir- da ich PHP-Newbie bin - eine Funktion aufzeigen,

        habe ich doch!

        die

        • die aktuelle URL (jene, in der die Funktion aufgerufen wird) ausliest

        die Funktione wird "in der url" aufgerufen? Wie meinst Du das? Willst Du der Funktion die url(als string) übergeben und eine eindeutige Zahl als Rückgabewert bekommen? Genau das macht chsum(), wie gesagt.

        • diese - als eindeutige Zahl verschlüsselt - als Variable ausgibt ?

        s.o.

        Grüße
        Andreas

        1. Moin Moin !

          Ääääh - redet de_Alex vielleicht von Sessions?

          de_Alex: Was willst Du?

          Eine URL ist bereits eindeutig, da brauchst Du nicht mit Zahlen rumhampeln.

          Alexander

          --
          Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
          Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
        2. Hi,

          die Funktione wird "in der url" aufgerufen? Wie meinst Du das? Willst Du der Funktion die url(als string) übergeben und eine eindeutige Zahl als Rückgabewert bekommen? Genau das macht chsum(), wie gesagt.

          Jetzt wo ich weiß, welche Funktion gemeint ist (crc32), muß ich widersprechen.
          Da nur ein 32-Bit-Wert zurückgeliefert wird, ist dieser Wert nicht eindeutig.

          Denn es gibt sicher mehr als 4 294 967 296 verschiedene URLs...

          cu,
          Andreas

          --
          Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
          http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
          1. Hi!

            Jetzt wo ich weiß, welche Funktion gemeint ist (crc32), muß ich widersprechen.
            Da nur ein 32-Bit-Wert zurückgeliefert wird, ist dieser Wert nicht eindeutig.

            Denn es gibt sicher mehr als 4 294 967 296 verschiedene URLs...

            Naja, kommt auf den Zweck an, veielleicht würde es reichen, vielleicht auch nicht. Wirklich eindeutig ist wie schon gesagt wurde nur die url an sich.

            Aber was anders ;-)

            Wenn Dir 32 Bit nicht reichen, wie wärs mit 128? IMHO ist ja md5 eine 128-Bit Zahl, nur als hexadezimal geschrieben, oder? Das könnte man ja umwandeln in eine Dezimalzahl:

            function chksum($url) {
                $zahl = md5($url);
                $hex = array('0' => '0',
                             '1' => '1',
                             '2' => '2',
                             '3' => '3',
                             '4' => '4',
                             '5' => '5',
                             '6' => '6',
                             '7' => '7',
                             '8' => '8',
                             '9' => '9',
                             'A' => '10',
                             'B' => '11',
                             'C' => '12',
                             'D' => '13',
                             'E' => '14',
                             'F' => '15');
                $len = strlen($zahl)-1;
                $dec=0;
                for($i=$len; $i>=0; $i--) {
                   $dec = bcadd($dec,bcmul($hex[$zahl{$i}], bcpow(16,$len-$i)));
                }
                return $dec;

            }

            echo chksum("http://selfhtml.teamone.de/");

            sollte reichen fürs erste ;-))

            Grüße
            Andreas

            PS: Wenn ich jetzt nicht groben Mist gerechnet habe bin ich da eigentlich recht zuversichtlich das man nicht unbedingt ganz so einfach eine SessionID erraten kann - die ja eine md5-Prüfsumme ist ;-)

    2. Hi,

      Du willst aus dem String, z.B. "http://host.de/bla/bla.php" irgendeine Zahl generieren? Was soll das für eine Zahl sein? Eine Zufallszahl? Soll dieselbe URL immer dieselbe Zahl ergeben? Du könntest eine Prüfsumme verwenden, sowas wie chsum().

      Hm. Wo versteckt die sich denn, die chsum?
      Ich find die nicht im PHP-Manual...

      cu,
      Andreas

      --
      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
      http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
      1. Hi!

        Hm. Wo versteckt die sich denn, die chsum?
        Ich find die nicht im PHP-Manual...

        Upsala ;-) *schäm*, ich meinte crc32(): http://de3.php.net/manual/de/function.crc32.php, chsum() war ne Funktion aus einem meiner eigenen Script ;-)

        Grüße
        Andreas

  2. Hi,

    Ich würde gerne mit einer php-Funktion aus der URL einer Seite, also
    z.B. http://host.de/bla/bla.php
    eine Zahl generieren lassen.

    Dafür gibt es unzählige Möglichkeiten.
    strlen("http://host.de/bla/bla.php");
    wäre eine...

    Welche Du verwendest, hängt vom Zweck ab - muß die Nummer eindeutig sein? Muß sie immer gleich bleiben? Usw.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/