php-Code in einem Editorfenster

Für ein Webprojekt entsteht gerade ein virtueller Rundgang mir 360° Panoramen. Neben der Möglichkeit durch die Räumlichkeiten navigieren zu können, sollen an bestimmten Hotspots Informationen angezeigt werden. Diese möchte ich aber nicht im Quellcode eingeben, sondern sie sollen aus einem CMS kommen. Um die Daten von dort auslesen zu können nutze ich eine grab.php und simple_html_dom.php. Dabei bin ich auf zwei Probleme gekommen: Umlaute werden nicht korrekt kodiert und die URL, die gegrabt werden soll, beinhaltet Parameter.

Vor einigen Jahren wäre es noch undenkbar gewesen. Ein php-Projekt ohne vorherigen persönlichen Kontakt. Mit dem schnellen Internet und den modernen Möglichkeiten kein Problem. Für einen Kunden in der Schweiz habe ich ein php-Skript erstellt mit dem der Countdown bis zur Öffnung, Schließung oder bis zur Mittagspause angezeigt wird. Die Zeiten sind definierbar. Die Funktion gibt einen div-Container aus, dessen Aussehen mit css individuell angepasst werden kann.

Mein Schweizer Kunde hat das Skript auf der Webseite http://www.mathehelp.de in der rechten Seitenleiste verwendet.

phpOeffnungszeiten

Zögern Sie nicht und nehmen mit mir Kontakt auf, falls sie auch ein Skript/eine Programmierung benötigen. Gemeinsam mit Ihnen erstellen wir die Lösung, die optimal auf Ihre Bedürfnisse passt.

Der Umbau dieser Webseite bringt es mit sich, dass ich Module und Menüs anpassen/ergänzen muss. Leider ließ sich meine Installation von joomla! 3.3.6 nicht dazu überreden Änderungen an Modulen oder Menüs zu speichern. Nach dem Klicken auf Speichern tat sich schlichtweg gar nichts.

Leider scheint es sich um einen Bug zu handeln. Mit einem Trick und einer Änderung lässt sich das Problem aber wenigstens umgehen. Änderungen an Modulen lassen sich durch umstellen des Administrator-Templates auf das hathor-Template wieder speichern.

Das hilft bei Menüs oder Menüeinträgen aber leider nicht. Hier kann man durch folgende Änderung in der index.php im Ordner ~\Administrator\templates\isis joomla! dazu bringen, die Änderungen wieder zu speichern (Zeile 3 neu einfügen):

// Add JavaScript Frameworks
JHtml::_('bootstrap.framework');
JHtml::_('behavior.framework', true);

Gestern wollte ich einen auf einem Webserver installierten Extplorer aufrufen, doch alles was ich zu sehen bekam war ein weißer Bildschirm. Was zum… Heute hatte ich dann etwas Zeit, mich mit dem Problem zu beschäftigen. Doch wo anfangen, wenn man nur einen weißes Fenster im Browser angezeigt wird? Ganz klar, debuggen. Dazu kann man entweder global die Debuggausgabe aktivieren oder den folgenden kleinen Schnippsel (In einer Datei Namens debug.php) verwenden:

<?php
ini_set('error_reporting', '-1');
ini_set('display_errors', '1');

include('./index.php'); // Bitte geben Sie nachdem '/' an welche PHP Datei Sie prüfen möchten.
?>

Dann ruft man die debug.php auf und man bekommt detailliertere Informationen zur Fehlerursache. In meinem Fall:

Warning: require_once(): open_basedir restriction in effect. File(/usr/local/php5.4/lib/php/PEAR.php) is not within the allowed path(s): (/home/sites/site102/:/home/sites/site102/tmp/:/usr/share/pear/:/tmp/) in /home/sites/site102/web/extplorer/libraries/FTP.php on line 33

Warning: require_once(/usr/local/php5.4/lib/php/PEAR.php): failed to open stream: Operation not permitted in /home/sites/site102/web/extplorer/libraries/FTP.php on line 33

Fatal error: require_once(): Failed opening required 'PEAR.php' (include_path='.:/usr/local/php5.4/lib/php') in /home/sites/site102/web/extplorer/libraries/FTP.php on line 33
Ein Blick in die FAQ des Hosters und siehe da, PEAR ist dort in einem bestimmten Pfad enthalten und mit einem set_include_path lässt sich das Problem beheben und Extplorer versieht seinen Dienst wieder wie gewünscht:

set_include_path('/usr/lib/pear');

 

Wenn ich eine Webseite mit einem cms erstelle, tue ich dies meist in einem Unterordner auf dem Webserver. Wenn die Seite dann Online geht kann man entweder das Root-Verzeichnis anpassen oder mit Hilfe einer index.php eine Weiterleitung einrichten. Das geht ganz einfach mit dem folgenden Codeschnipsel:

<?php 
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.ziel.de/ordner");
exit();
?> 

 

Da der Code auf dem Server abläuft funktioniert diese Weiterleitung auf jedem Client und mit jedem vorstellbaren Browser.