Monatsarchive: Dezember 2012

PHP Browser emulieren

Vor einigen Jahren habe ich ein Script geschrieben, welches den Seitentitel von URLs ausliest. Das funktioniert auch soweit super. Leider klappte es bei Facebook nicht und es kam immer der Titel „Update your Browser“. Scheinbar wertet Facebook den übermittelten User-Agent im HTTP-Header aus. Doch wie teilt man PHP mit, dass man gerne eine anderen User-Agent im Header übermitteln möchte?

Die Lösung ist wirklich einfach. Dazu setzt man einfach einen Wert in der Konfiguration um. Das geht entweder per ini-Set oder eben direkt in der php.ini. Ich hab einfach mal den User-Agent von meiner aktuellen Installation genutzt:

In Curl geht das Ganze natürlich auch:

ERROR 2006: MySQL server has gone away

Diesen Fehler bekam ich bei einem Import eines 900MB großen .sql-Files unter MAMP nach wenigen Sekunden. Schuld ist die max_allowed_paket-Größe in der Konfiguration. Doch wo findet man diesen Wert? Angeblich in der my.cnf. Leider gibt es eine solche Datei unter MAMP nicht. Also muss man diese anlegen. Wo sie überall erstellt werden kann und gesucht wird, kann man mit folgendem Befehl ermitteln:

Der schönste Platz dafür (in meinen Augen) war logischerweise im folgenden Verzeichnis:

Doch wo bekommt man nun eine Datei her? Da haben die Macher von MAMP mitgedacht, und haben eine Reihe von Beispielkonfigurationen im folgenden Verzeichnis hinterlegt:

Also eine der Dateien kopiert, umbenannt und mit einem Editor geöffnet um den folgenden Wert zu ändern:

Nach einem Neustart des mySQL-Servers stand einem Import nichts mehr im Wege.

RSS-Reader für Mac OS X

Seit einer gefühlten Ewigkeit nutze ich bereits Vienna um mit RSS-Feeds auf dem laufenden zu bleiben. Leider spinnt der Reader immer mal wieder rum – daher muss ich nun wechseln.

Einer super Liste von Readern habe ich auf dieser Seite gefunden. Nun wollte ich NetNewsWire eine Chance geben. Dank opml-Support von Vienna bekommt man auch direkt alles mit zwei Klicks importiert – leider auch kein Highlight das Programm. Also in den App-Store geschaut ob es dort etwas kostenpflichtiges gibt (ein paar Euro kann man ja mal ausgeben).

Gefunden habe ich dann Reeder. Kostet zwar 4,49€ aber muss dafür ja auch gut sein (denke ich mir). Als erstes nervt, dass man alles mit dem Google Reader synchronisieren muss. Den habe ich natürlich nicht eingerichtet. Aber das geht fix. Einfach auf den Seiten das OPML-File hochgeladen und schon sieht alles gut aus. Ich bin erstmal wieder zufrieden!

PHP: Prüfen ob eine URL erreichbar ist

Mit folgendem Code kann man leicht überprüfen, ob eine URL gültig ist (anhand des HTTP-Status-Codes 200 im Header). Ich nutze diesen Code auf einer meiner Websites um zu überprüfen ob verschiedene Links in Artikeln gültig sind oder nicht.

Ganz nebenbei liefer ich euch hier noch eine contains-Funktion nach welche in PHP fehlt. Die brauche ich persönlich sehr häufig – ich hoffe sie hilft euch genauso!

PHP: Über Key-Value-Array iterieren

Schon komisch, aber irgendwie vergesse ich immer wieder wie ich über ein Array iteriere und innerhalb der Schleife sowohl an den Schlüssel, als auch an den Wert komme (ohne Zählerschleife).

Hier mal zwei Ansätze:

Über 100 Beiträge!

Jetzt existiert dieser Blog gerade einmal etwas über 8 Monate und schon ist die magische Grenze von 100 Beiträgen geknackt! Gefühlt habe ich noch längst nicht alles veröffentlicht und behandelt was ich gerne online hätte, aber ich hoffe das wird sich bald ändern! Aktuell lerne ich täglich so viel Neues wie möglich und versuche auch parallel meinen Lernprozess in einen Artikel zu packen.

Ich bin also sehr guter Dinge, dass ich so motiviert bleibe und noch viel mehr schreibe – immerhin habe ich im November im Schnitt fast jeden Tag einen Beitrag veröffentlicht. Jeden Tag ein Artikel? Sicher ein Ziel was ich anstreben möchte!