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
Tutorial: Spracherkennung für jede Webseite mit HTML5
Seit Apples Siri ist das Thema Spracherkennung/Sprachsteuerung wieder in den Fokus der Masse gerückt.
Doch Siri ist längst nicht die einzige funktionierende Sprachsteuerung. Es gab vor Siri schon etliche, teils gar nicht schlechte, Umsetzungen von Sprachsteuerungen und es gibt auch jetzt weit mehr als nur Siri.
Wie ihr mit nur einer Zeile Code eine Spracherkennung auch in eure Webseite einbauen könnt, möchte ich euch heute zeigen.
Das Ganze basiert auf HTML5 und stellt sich als ein
input-Element dar. Und so geht’s:
<input type="text" x-webkit-speech />
Wer die Spracherkennung mal in Aktion sehen will, kann das hier tun.
Den einzigen Wermutstropfen, den es gibt, ist dass das diese Spracherkennung bisher nur in Google Browser Chrome implementiert ist. Dennoch könnte ich mir vorstellen, die Spracherkennung zum Beispiel für das Suchfenster auf meinem Blog zu nutzen.
Und damit Nutzer anderer Browser dann nicht ganz ohne Suche dastehen, könnte man per Browserweiche für alle anderen Nutzer ja immer noch das klassische Textinputfeld anzeigen lassen.
Was haltet ihr davon? Wird sich die Spracherkennung durchsetzen? Würdet ihr dieses System hier auf euren Webseiten verwenden?
Viele Grüße,
Raffi
Android Smartphone als Festnetztelefon benutzten (Für Fritzbox-Nutzer)
Wie ihr vielleicht schon gelesen habt, beziehe ich mein DSL seit einiger Zeit von 1&1. Auch wenn ich mit den Dienstleistungen von 1 & 1 nicht immer zufrieden war, so bin ich es umso mehr mit der Hardware.
Der von 1 & 1 mitgelieferte Homeserver, der eigentlich eine Fritzbox 7320 ist, bietet alles, was ich benötige und hat mich schon mehrere Male positiv überrascht.
Nachdem ich euch letztens noch gezeigt habe, wie ihr damit Musik auf eure Smartphones streamen könnt, möchte ich euch heute zeigen, wie ihr ein Android Smartphone in Kombination mit der Fritzbox als Festnetztelefon benutzen könnt.
Das klingt jetzt vielleicht erstmal kompliziert, aber ich verspreche euch, die nachfolgende Anleitung sieht länger aus, als sie ist. Denn eigentlich ist die komplette Einrichtung eine Sache von nur 5 Minuten. Los geht’s!
Auf Seiten des Smartphones benötigt ihr eine kostenlose App namens Fritz!App Fon. Ich persönlich verwende jedoch die Fritz!App Fon Labor Version. Dies ist die jeweils aktuelle Beta Version der App. Für welche ihr euch entscheidet, ist euch überlassen.
Nachdem ihr euch die App heruntergeladen habt, geht es in der Weboberfläche der Fritzbox weiter. (Einfach im Browser eurer Wahl http://fritz.box aufrufen.)

Navigiert zuerst zu dem Menüpunkt Telefoniegeräte (dieser befindet sich unter dem Oberpunkt Telefonie) und klickt dann auf Neues Gerät einrichten.

Wählt nun Telefon (mit und ohne Anrufbeantworter) aus und klickt auf Weiter.

Auf der nun folgenden Seite wählt ihr als Anschlussart bitte LAN/WLAN (IP-Telefon) aus und gebt diesem einen Namen/eine Bezeichnung. (Diese könnt ihr frei wählen.)

Legt nun ein beliebiges Kennwort fest. Dieses benötigt ihr gleich noch, um euer Smartphone mit der Fritzbox zu koppeln. (Ihr könnt ruhig ein komplexes Passwort auswählen, da ihr dieses nur einmal eingeben müsst.)

Die nächsten beiden Seiten könnt ihr getrost durchklicken. Danach das Speichern am Ende nicht vergessen und schon solltet ihr ein neues Telefon eingerichtet haben. (Siehe obiger Screenshot.)
Das war es auch schon seitens der Fritzbox. Die restlichen Einstellungen müssen wir nun noch innerhalb der Fritz!App Fon App vornehmen.
Nach dem Start der App sollte sich in etwa folgender Anblick ergeben.
- Sieht die Statusanzeige in der rechten, oberen Ecke bei euch genauso aus, wie in meinem Screenshot, dann könnt ihr weiterlesen.
- Sind beide Statussymbole grün, dann könnt ihr die folgenden Schritte überspringen und bis zum Ende des Artikels scrollen.
- Sind beide Symbole, also auch das Fritz!Box Symbol, rot, dann solltet ihr zunächst erstmal eine WLAN-Verbindung zwischen eurem Smartphone und eurem Fritz!Box WLAN herstellen.
Sieht dann alles wie in meinem Screenshot aus, geht es mit einem Klick auf Mehr weiter. Klickt danach auf der nächsten Seite auf Einstellungen.
Auf der Einstellungsseite angekommen, könnt ihr mit einem Klick auf Telefoniegerät das Telefoniegerät auswählen, welches ihr zuvor in der Fritzbox angelegt habt. Nach dem Klick auf das entsprechende Telefoniegerät, fragt euch die App nach einem Kennwort. Dies ist das Kennwort, welches ihr vorhin beim Einrichten angegeben habt.
Jetzt solltet ihr nur noch im Menu Mehr -> Einstellungen -> Ausnahmen den Haken bei Mobilrufnummern setzen und dann seid ihr auch schon startklar.
Ruft euch nun jemand auf Festnetz an, so wird euer Smartphone auch klingeln. Wenn ihr raustelefoniert mit eurem Smartphone, so werden Mobilfunknummern über eure Handykarte angerufen und Festnetznummern über eure Fritzbox.
Ich hoffe der Artikel hat euch gefallen. Wenn ihr noch Fragen, Ideen, Anregungen oder Tipps habt, dann schreibt mir doch einfach einen Kommentar.
Viele Grüße,
Raffi
N64 Spiele auf Android spielen
Gehört ihr auch zu den Leuten, die früher (oder auch noch heute) stundenlang vor der Spielkonsole gesessen haben? Ich selbst war nie der große Zocker und habe Zeit meines Lebens auch nur eine Konsole besessen, aber mein N64 habe ich geliebt.
Bei meinem Umzug im August kamen mir dann einige N64 Spiele zwischen die Finger und ich verspürte das Bedürfnis mal wieder ausgelassen eine Runde Super Mario World zu spielen. Leider blieb es beim Fund der Spiele. Mein N64 war und ist spurlos verschwunden.
Letzte Woche stolperte ich dann zufälligerweise über einen N64 Emulator, für Android, im Netz. Er heißt n64oid und ist anscheinend schon etwas länger am Markt. An mir ging er jedoch bisher vorbei.
Wie dem auch sei, ich hab die 4,99$ geopfert und habe mir n64oid auf mein Samsung Galaxy S2 geschmissen. Und was soll ich sagen? Ich bin begeistert!
Es laufen zwar lange nicht alle Roms (das hatte ich jedoch im Hinblick auf frühere Erfahrungen mit diversen Emulatoren schon erwartet), aber da geht schon einiges. Spiele wie Mario Kart 64 oder Super Mario 64 laufen einwandfrei. Listen mit kompatiblen Spielen gibt es zum Beispiel hier, hier und hier und ansonsten lautet die Devise – probieren geht über studieren!
Wo ihr Roms für den Emulator herbekommt, werde ich hier nicht im Detail beschreiben. Es gibt dafür jedoch die ein oder andere brauchbare App wie z.B. Rom Buddy oder RomGet. Ansonsten hilft eine solche Googlesuche auch ganz gut weiter.
Habt ihr nun Roms und Emulator am Start, kann es losgehen. Direkt nach dem Öffnen von n64oid sieht dieser etwas spartanisch aus, was auf den zweiten Blick aber völlig ok und ausreichend ist.
Navigiert nun in den Ordner in dem eure Roms liegen (in meinem Fall: /mnt/sdcard/roms/n64) und klickt auf ein beliebiges Rom, um es zu starten.
(Klickt auf das Bild links, um es zu vergrößern.)
Wenn alles geklappt habt, dann dürftet ihr jetzt schon im Spiel sein. Wenn ihr, sobald ihr ein Spiel geöffnet habt, auf die Menütaste eures Smartphones/Tablets drückt, öffnet sich am unteren Rand das Menü von n64oid. Dort könnt ihr das Spiel zu jeder Zeit speichern bzw. einen der Speicherstände laden, den Emulator konfigurieren, beenden oder den Fast forward Modus starten.
Der Fast-forward Modus ist zum Beispiel ganz nützlich, um die teils wirklich elendig langen/langsamen Intros macher Spiele zu überspringen, oder wenn ihr lange Distanzen in Rollenspielen, etc. zurücklegen müsst.
Kommen wir nun noch zu einer Frage, die sich sicherlich der ein oder andere von euch auch stellen wird. Und zwar der Frage der rechlichen Aspekte. An dieser Stelle möchte ich gerne aus Wikipedia zitieren:
Der Besitz und die Verwendung von Emulatoren ist grundsätzlich legal. Einige Emulatoren benötigen zum Ausführen der ROMs jedoch das BIOS des jeweiligen Geräts, welche grundsätzlich nicht mit dem Emulator ausgeliefert werden darf. Die Legalität von ROMs bestimmt sich durch entsprechende Regelungen durch Gesetze zum Schutz der Urheberrechte. Sofern ROMs nicht vom Rechteinhaber bezogen werden, sind für die Legalität vor allem die Art und die Umstände relevant, unter denen die Kopie entstanden ist. In Deutschland greift § 53 (Vervielfältigungen zum privaten und sonstigen eigenen Gebrauch) des Urheberrechtsgesetzes.
Ich kann nur für mich sprechen und euch soviel sagen, dass ich nur solche Spiele als Roms besitze/beschaffe, die ich auch als Originalspiel gekauft habe. (Genau, diese dicken, grauen “Kassetten”, die man früher in sein N64 gesteckt hat.)
Zum Schluss kann ich noch sagen, dass ich gerade während der Recherchen für diesen Artikel noch zwei weitere N64 Emulatoren entdeckt habe. Zum einen N64 Arcade und zum anderen Mupen64Plus. Mupen64Plus basiert wohl auf dem gleichen Basis Quellcode wie n64oid. Mehr weiß ich jedoch auch nicht. Getestet habe ich beide bisher nicht.
Habt ihr auch schon Erfahrungen mit n64oid oder vielleicht sogar mit Mupen64Plus oder N64 Arcade gesammelt? Wenn ja, dann immer her – und ab damit in die Kommentare!
Viele Grüße,
Raffi
Ubuntu Software Center unter Linux Mint 12 nutzen
Linux Mint an sich ist schön und gut. Aber die mitgelieferte Softwareverwaltung ist zugegeben nicht ganz mein Fall. Ich persönlich finde sie ziemlich träge vom Ansprechverhalten (lange Ladezeiten) und ein Augenschmaus ist sie zudem auch nicht gerade. Da sagt mir Ubuntus Software Center doch wesentlich mehr zu. Und genau deshalb möchte ich euch heute kurz zeigen, wie man Ubuntus Software Center unter Linux Mint zum laufen bringt.
Im ersten Schritt muss das Software Center mit folgendem Befehl über die Shell installiert werden.
sudo apt-get install software-center
Danach muss noch ein Python-Script angelegt werden.
sudo cp -r /usr/share/software-center/softwarecenter/distro/Ubuntu.py /usr/share/software-center/softwarecenter/distro/LinuxMint.py
In diesem Script müsst ihr im dritten Schritt die Zeile
class Ubuntu(Debian)
durch folgende ersetzen
class LinuxMint(Debian)
Hierzu öffnet ihr am besten die Datei mit folgendem Shellbefehl
gksudo gedit /usr/share/software-center/softwarecenter/distro/LinuxMint.py
(Innerhalb des Dokument könnt ihr mit Strg+F suchen.)
Nachdem ihr die Zeile ersetzt habt, klickt ihr auf speichern/save und schließt das Script wieder.
Eigentlich sind wir nun schon fertig mit der Installation. Lediglich eine Kleinigkeit fehlt noch. Zum jetztigen Zeitpunkt erscheint das Softwarecenter nur im Gnome-, nicht jedoch im Startmenü. Dies könnt ihr jedoch ganz einfach mit alacarte nachholen. Wie das geht habe ich bereits hier im Blog beschrieben.
Wenn ihr noch Fragen habt, schreib mir einfach einen Kommentar.
Viele Grüße,
Raffi







