PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Zig Wege, die eigene öffentliche IP Adresse herauszufinden

with one comment

IPDesöfteren benötigt man mal die eigene öffentliche IP-Adresse, sei es um eine kurzfristige Firewall-Freischaltung zu bekommen, auf irgendeine Whitelist genommen zu werden oder um seine eigenen Logzeilen im access.log wiederzufinden. Wenn man nicht direkt mit dem Internet verbunden ist sondern mittels Router oder sonstwie geartetem Netzwerk helfen einem spezielle Webseiten und Dienste.

Auf der Konsole geht das am schnellsten so:

$ curl ifconfig.me
123.124.125.126

Erweiterte Informationen erhält man mit:

$ curl ifconfig.me/all
ip_addr: 123.124.125.126
remote_host: blfd-5dXXXX7a.pool.mediaWays.net
user_agent: curl/7.27.0
port: 58431
lang:
connection:
keep_alive:
encoding:
mime: */*
charset:
via:
forwarded:

Es ist auch möglich mit einem Browser auf die Seite zu gehen, dort erhält man dann Informationen was alles abfragbar ist.

Möchte man die eigene IPv6 Adresse wissen helfen diese Befehle:

Weiterlesen »

Written by Michael Kliewe

Mai 6th, 2013 at 11:59 am

Vorsicht bei der basename() Funktion und Umlauten

with 6 comments

umlauteWieder ein sehr komischer Bug, diesmal in Zusammenhang mit der Funktion basename():

Die basename() Funktion wird dazu verwendet den letzten Namensteil eines Pfades zurückzugeben. Beispiele:

echo basename('/home/michael/datei.txt'); // -> datei.txt
echo basename('/home/michael/ordner'); // -> ordner
echo basename('/home/michael/ordner/'); // -> ordner

Funktioniert wunderbar. Auch mit Umlauten innerhalb eines Dateinamens kein Problem:

echo basename('/home/michael/trööööt.txt'); // -> trööööt.txt

Steht aber ein Umlaut am Anfang des Dateinamens, dann gibt basename() einen falschen Dateinamen zurück:

Weiterlesen »

Written by Michael Kliewe

April 25th, 2013 at 7:43 am

Posted in PHP

Tagged with , ,

Extended Method-Chains mit JavaScript

with 7 comments

Gastartikel von Thomas Worm

Der Autor ist 25 Jahre alt, beschäftigt sich bereits seit der Schulzeit mit der Entwicklung von Webanwendungen auf Basis von PHP, (X)HTML, CSS, JavaScript und dem Framework des Typo3 CMS. Nach Abschluss des Bachelor-Studiums der Informatik arbeitet der Autor bei der DATEV eG im Bereich Cloud Services/ASP und studiert berufsbegleitend den Informatik-Master in Hagen.

Was sind Method Chains

Als Method Chain bezeichnet man eine Kette aneinandergehänger Methodenaufrufe auf einem Objekt. Möglich wird dies dadurch, dass die Methoden das Objekt als Rückgabewert wiederliefern. Dies kann zum Beispiel sinnvoll sein, wenn Daten gefiltert, gruppiert und sortiert werden sollen:

var untermenge = datenmenge.filter('name','[ABC]*')
                           .group('umsatz').has('sum>400')
                           .orderBy('name');

Sofern man mit Mengen arbeitet, ist dies durchaus ausreichend, weil man immer eine Menge zurückbekommt und damit auch einen Rückgabewert, der interessant ist (weil er die Ergebnismenge beinhaltet).

Rückgabewert beifügen

Weiterlesen »

Written by Thomas Worm

April 22nd, 2013 at 9:46 am

Posted in Javascript

Tagged with

Tückisches array_merge()

with 6 comments

Welches Ergebnis würdet ihr erwarten wenn ihr 2 Arrays merged?

$a = array(
    'n' => 'n',
    'o' => 'o',
    'p' => 'p',
);

$b = array(
    'x' => 'x',
    20  => 14,
    'z' => 'z',
);

$c = array_merge($a, $b);

OK, ich verrate es euch, das Ergebnis sieht so aus:

Weiterlesen »

Written by Michael Kliewe

April 18th, 2013 at 8:56 am

Posted in PHP

Tagged with ,

Der Gewinner des PHP-Unconf EU + PHP- Days 2013 Tickets

with 4 comments

Alle 8 Kommentatoren haben den SHA256 Hash korrekt berechnet. Mein kleines Check-Script (siehe unten) spuckt folgendes aus:

Benjamin correct
Sebastian correct
Thomas Lamy correct
Tobi Strunz correct
Marco Rieger correct
Till correct
Ridcully correct
Mathias correct

Der Gewinner wurde wie folgt bestimmt:

Die Hashes wurden sortiert und der “niedrigste” gewinnt das Ticket. Dieses Verfahren habe ich als HTML-Kommentar im Verlosungsartikel versteckt, hat sicher niemand gesehen ;-)
Weiterlesen »

Written by Michael Kliewe

April 16th, 2013 at 9:21 am