PHP Workaround – file_get_contents() ohne allow_url_fopen nutzen
Ich gebe zu, der Titel ist etwas irreführend. Die PHP-Funktion file_get_contents(), die dazu genutzt werden kann Dateien aus dem Internet in einen String zu lesen, um sie weiterzuverarbeiten, funktioniert bei deaktiviertem allow_url_fopen einfach nicht. Daran wird auch dieser Artikel nichts ändern.
Entwickelt man jedoch eine Anwendung/ein Script, das auf möglichst vielen Serverumgebungen funktionieren soll, so wie zum Beispiel ein WordPress-Plugin, so gibt es einen guten Workaround, um Nutzer, auf dessen Webservern allow_url_fopen deaktiviert ist, nicht auszuschließen.
Und genau dieses kleine Snippet möchte ich euch heute zeigen und erklären.
$datei = "http://www.beispiel.de/meine_seite.php";
if (function_exists('curl_version'))
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $datei);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($curl);
curl_close($curl);
}
else if (file_get_contents(__FILE__) && ini_get('allow_url_fopen'))
{
$content = file_get_contents($datei);
}
else
{
echo 'Sie haben weder cURL installiert, noch allow_url_fopen aktiviert. Bitte aktivieren/installieren allow_url_fopen oder Curl!';
}
Zuerst wird überprüft, ob auf dem Server die cURL Erweiterung zur Verfügung steht. Wenn dies der Fall ist, wird die Datei per cURL geladen.
Steht cURL nicht zur Verfügung, so wird überprüft, ob allow_url_fopen aktiviert ist. Ist dies der Fall, wird die Datei per file_get_contents() geladen.
Stehen beide Möglichkeiten nicht zur Verfügung, wird eine Fehlermeldung ausgegeben, was den Endanwender vor etwaigen, für ihn “kryptischen”, Fehlermeldungen bewahren soll.
Falls ihr euch fragt, warum ich cURL den Vorzug gegenüber file_get_contents() gebe, so liegt das daran, dass ich die Erfahrung gemacht habe, dass cURL, bezogen auf diesen Anwendungsfall, etwas performanter ist.
Abschließend lässt sich sagen, dass ihr bei Verwendung der hier aufgezeigten Methode, die Chance darauf, dass euer Script bei möglichst vielen Usern läuft, verdoppeln könnt. Das ist doch schon mal was, oder?
Was haltet ihr von meinem Snippet? Würdet ihr es genauso umsetzen oder haltet ihr davon eher nichts? Wie geht ihr mit der “Problematik” allow_url_fopen um?
Viele Grüße,
Raffi
wpSuggest – die richtigen Keywords für die Titel von WordPress-Artikeln finden
Heute möchte ich euch mal wieder ein WordPress Plugin vorstellen. Doch bevor es so weit ist, gibt’s erst mal eine kleine Einleitung.
Googles Autocomplete-Funktion namens Google Suggest dürfte mittlerweile jeder kennen, der Google auch nur ab und zu benutzt. (Und das dürften ja wohl die meisten sein.)
Ist ja auch wirklich praktisch, wenn man seine Suchphrase nicht zu Ende tippen muss, weil Google einem schon vorschlägt, was man eigentlich schreiben/suchen wollte.
Doch Google Suggest bietet noch mehr Mehrwert. Denn wenn man nicht weiß, welche Suchworte man genau verwenden muss, oder wissen will was populär ist, so tippt man einfach nur ein paar Buchstaben ein, oder ein Stichwort, und Google schlägt einem dann passende bzw. relevante Suchphrasen vor. Und genau hier kommen wir zu dem WordPress Plugin, das ich euch heute vorstellen will.
Uwe Ramminger von seo4wp.de hat nämlich ein kleines WordPress Plugin namens wpSuggest entwickelt, welches sich genau die eben beschriebene Google Suggest Funktion zunutze macht.
Wenn ihr einen Artikel schreibt und Wörter in das Artikel-Titel-Feld eingebt, führt wpSuggest eine Googleanfrage aus und gibt euch Googles Vorschläge direkt unter der Titelzeile aus.
Wie wpSuggest in Aktion aussieht, könnt ihr dem obigen Screenshot entnehmen. (Zum Vergrößern bitte auf den Screenshot klicken.)
In meinen Augen ist das Plugin eine kleine, aber sehr nützliche Erweiterung im Alltag mit WordPress. So hilft es nicht nur bei Wortfindungsschwierigkeiten, sondern auch die passenden Artikeltitel zu finden, mit denen man bei Google wiederum vernünftig gefunden wird.
Zu haben gibt es das Plugin nicht im wordpresseigenen Verzeichnis, sondern nur auf Uwes Blog. Einen Download ist es in meinen Augen aber dennoch alle mal wert.
Und wie seht ihr das? Nötig oder nur eine Spielerei?
Viele Grüße,
Raffi
Lightbox Plugin für WordPress 3.3
Heute möchte ich euch auf ein Plugin für WordPress hinweisen, dass ich seit ein paar Tagen auch hier auf meinem Blog verwende. Es heißt Lightbox Plus und dient hauptsächlich zur Anzeige von Fotos. Ich hatte schon einige Lightbox Plugins in meinem Blog eingebaut aber keines wurde all meinen Anforderungen gerecht…
(Alle die sich bis jetzt noch nichts unter dem Begriff “Lightbox” vorstellen können, sollten einmal kurz auf das kleine Bild oben-links im Artikel drücken. Wie ihr sehen werdet, öffnet sich das Bild nicht in einem neuen Fenster, sondern legt sich über die Webseite und der Hintergrund wird abgedunkelt/ausgegraut. Hier für ist das Lightbox Plugin zuständig.)
Mit Lightbox Plus habe ich nun ein Lightbox Plugin gefunden, was wie Faust auf’s Auge zu meinen Anforderungen passt. Es ist kostenlos, kompatibel mit WordPress 3.3, hat viele Einstellungsmöglichkeiten und vor allem passt es übergroße Bilder in den Bildschirm ein. Das heißt, wenn ein Bild eine höhere Auflösung als der Monitor hat, so wird es automatisch verkleinert. Was ihr dafür einstellen müsst, möchte ich euch nachfolgend kurz zeigen.
Zuerst müsst ihr die Einstellungsseite des Plugins öffnen. Diese findet ihr in der linken Sidebar in der WordPress Admin-Ansicht unter Design => Lightbox Plus.
Damit eure Bilder automatisch an die Bildschirmauflösung des Besuchers angepasst werden, müsst ihr nun noch die maximale Breite, sowie die maximale Höhe festlegen und dem Plugin sagen, dass es die Bilder gegebenenfalls in der Größe anpassen soll. Das macht ihr wie folgt.
Das sind erstmal die wesentlichen Einstellungen. Mit den restlichen könnt ihr ja selbst ein wenig herumexperimentieren. ;)
Viele Grüße,
Raffi
Gzip-Komprimierung in WordPress aktivieren
Bisher habe ich mir über die Ladezeiten meiner Seite noch keine großen Gedanken gemacht. Bisher war ich auch der Überzeugung, dass WordPress von sich aus die Gzip-Komprimierung nutzen würde. Wie gesagt, bisher. Heute musste ich feststellen, dass WordPress genau jenes eben nicht tut.
Für all jene, die nichts mit Gzip anfangen können, noch eine schnelle Erklärung. Gzip ist ein Kompressionsverfahren, um die Größe einer Datei zu minimieren. Am populärsten ist es heutzutage auf Unix-Systemen. Verwendung im Webseitenbereich findet es, wenn es darum geht, die vom Server an den Nutzer zu sendenden Daten zu verkleinern. So wird der beim Aufruf entstehende Traffic vermindert, was gleichzeitig eine Verringerung der Ladezeit der Webseite mit sich bringt.
Langer Rede, kurzer Sinn. Wie bekomme ich denn nun die Gzip-Komprimierung in WordPress aktiviert? Eine Option in der Einstellungsseite von WordPress gibt es dafür leider nicht. Es bleiben also zwei Möglichkeiten. Zum einen die Nutzung eines Plugins wie z.B. GZippy oder zum anderen die manuelle Aktivierung. Zweites bevorzuge ich persönlich, da ich gegebenenfalls nicht auf die Aktualisierung eines Plugins warten muss und der Einbau in Falle der GZip-Komprimierung wirklich schnell vonstatten geht.
Zum manuellen Aktivieren müsst ihr in der WordPress Sidebar auf den Menüpunkt Editor im Gruppenmenü Design klicken. Öffnet nun die Datei functions.php und fügt ganz oben unter dem einleitenden PHP Tag folgenden Befehl ein.
ob_start("ob_gzhandler");
Das war’s auch schon. Von nun an wird euer Blog per Gzip ausgeliefert. (Natürlich nur solange der Browser des Besuchers dies auch unterstützt.)
Viele Grüße,
Raffi






