<?xml version="1.0" encoding="UTF-8"?><rss version="2.0">
  <channel>
    <title>ScriptBlogger</title>
    <link>http://scriptblogger.de/</link>
    <description>Hier kommt alles auf den Tisch, was so im Alltag von GentleSource, STADTAUS.com und Schedule Organizer passiert. Nette Kunden. Nervige Kunden. Lustiges, Trauriges, Interessantes, Schockierendes, Bescheuertes und noch ganz andere Dinge aus dem Support. Fremde und eigene Dummheiten. Kritisches und Unkritisches.</description>
        <item>
       <title>While list each ersetzen</title>
       <link>http://scriptblogger.de/while-list-each-ersetzen-654.html</link>
       <guid>http://scriptblogger.de/while-list-each-ersetzen-654.html</guid>
       <description>&lt;p&gt;Ab PHP-Version 7.2.0 ist die Funktion each() deprecated. PHP gibt entsprechende Warnungen aus. Mit folgenden beiden regul&amp;auml;ren Ausdr&amp;uuml;cken kann man &lt;em&gt;while list each&lt;/em&gt; durch &lt;em&gt;foreach&lt;/em&gt; ersetzen.&lt;/p&gt;&lt;p&gt;Zuerst alle while (list($key, $val) = each($arr)&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Suchen: while\s*\(list\s*\(\s*\$(.*),(.*)\)\s*=\s*each\((.*)\)\)&lt;br /&gt;&lt;br /&gt;Ersetzen: foreach \($3 as \$$1 =&amp;gt; $2\)&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Danach alle while (list(,$val) = each($arr))&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Suchen: while\s*\(list\s*\(\s*,(.*)\)\s*=\s*each\((.*)\)\)&lt;br /&gt;&lt;br /&gt;Ersetzen: foreach \($2 as $1\)&lt;/p&gt;&lt;/blockquote&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/while-list-each-ersetzen-654.html&quot; title=&quot;While list each ersetzen&quot;&gt;While list each ersetzen&lt;/a&gt;</description>
       <pubDate>Mon, 26 Feb 2018 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>Entities in XML-Dateien doppelt kodieren</title>
       <link>http://scriptblogger.de/entities-in-xml-dateien-doppelt-kodieren-594.html</link>
       <guid>http://scriptblogger.de/entities-in-xml-dateien-doppelt-kodieren-594.html</guid>
       <description>&lt;p class=&quot;refname&quot;&gt;Wer mit PHP XML-Dateien erstellt, sollte die Daten doppelt mit &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;htmlentities()&lt;/span&gt; kodieren. Funktionen wie &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;simplexml_load_file()&lt;/span&gt; k&amp;ouml;nnen mit einigen HTML-Entities wie zum Beispiel &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;&amp;amp;eacute;&lt;/span&gt; nicht umgehen. &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;&amp;amp;eacute;&lt;/span&gt; wird durch die erneute Kodierung zu &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;&amp;amp;&lt;span class=&quot;entity&quot;&gt;amp;&lt;/span&gt;eacute; &lt;/span&gt;und wurde auf diese Weise unkenntlich gemacht.&lt;/p&gt;&lt;p class=&quot;refname&quot;&gt;Das von &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;simplexml_load_file()&lt;/span&gt; gelieferte Ergebnis muss dann einfach noch mit &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;html_entitie_decode()&lt;/span&gt; behandelt werden und fertig.&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/entities-in-xml-dateien-doppelt-kodieren-594.html&quot; title=&quot;Entities in XML-Dateien doppelt kodieren&quot;&gt;Entities in XML-Dateien doppelt kodieren&lt;/a&gt;</description>
       <pubDate>Wed, 07 Mar 2012 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>Ãnderungen und Neue Funktionen in PHP 5.4</title>
       <link>http://scriptblogger.de/aenderungen-und-neue-funktionen-in-php-5.4-590.html</link>
       <guid>http://scriptblogger.de/aenderungen-und-neue-funktionen-in-php-5.4-590.html</guid>
       <description>&lt;p&gt;Michael Kliewe hat einen ausf&amp;uuml;hrlichen &lt;a href=&quot;http://www.phpgangsta.de/php-5-4-0-released-neue-funktionen&quot; target=&quot;_blank&quot;&gt;Artikel zu den &amp;Auml;nderungen und neuen Funktionen in PHP 5.4&lt;/a&gt; geschrieben.&lt;/p&gt;&lt;p&gt;Es sind viele sinnvolle &amp;Auml;nderungen dabei, wie zum Beispiel der Wegfall von &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;safe_mode&lt;/span&gt; und &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;register_globals&lt;/span&gt;, und es gibt neue Funktionalit&amp;auml;ten, wie &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;traits&lt;/span&gt; und den Short Array Syntax.&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/aenderungen-und-neue-funktionen-in-php-5.4-590.html&quot; title=&quot;Ãnderungen und Neue Funktionen in PHP 5.4&quot;&gt;Ãnderungen und Neue Funktionen in PHP 5.4&lt;/a&gt;</description>
       <pubDate>Fri, 02 Mar 2012 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>PHP-Funktion: Schaltjahr ermitteln</title>
       <link>http://scriptblogger.de/php-funktion-schaltjahr-ermitteln-589.html</link>
       <guid>http://scriptblogger.de/php-funktion-schaltjahr-ermitteln-589.html</guid>
       <description>&lt;p&gt;Passend zum heutigen 29. Februar. Eine Funktion die pr&amp;uuml;ft, ob ein gegebenes Jahr ein Schaltjahr ist.&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #ff8000;&quot;&gt;/** &lt;br /&gt;&amp;nbsp;*&amp;nbsp;Check&amp;nbsp;if&amp;nbsp;a&amp;nbsp;given&amp;nbsp;year&amp;nbsp;is&amp;nbsp;a&amp;nbsp;leap&amp;nbsp;year &lt;br /&gt;&amp;nbsp;*/ &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;function&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;leapYear&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$year&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;) &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$r&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$year&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;%&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;400&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$r&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;===&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$r&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$year&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;%&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$r&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;===&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$r&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$year&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;%&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$r&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;===&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;)&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;; &lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Quelle der Berechnung: &lt;a href=&quot;http://de.wikipedia.org/wiki/Schaltjahr#Berechnung&quot; target=&quot;_blank&quot;&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Nachtrag: Der Aufruf der PHP-Funktion date() mit dem Parameterwert &#039;L&#039; tut es auch. Siehe auch die Kommentare.&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/php-funktion-schaltjahr-ermitteln-589.html&quot; title=&quot;PHP-Funktion: Schaltjahr ermitteln&quot;&gt;PHP-Funktion: Schaltjahr ermitteln&lt;/a&gt;</description>
       <pubDate>Wed, 29 Feb 2012 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>&#039;0:0&#039; &gt; &#039;00:00&#039;</title>
       <link>http://scriptblogger.de/-0-0-00-00-584.html</link>
       <guid>http://scriptblogger.de/-0-0-00-00-584.html</guid>
       <description>&lt;p&gt;Beim Vergleich von Zeichenketten, gibt es vielerlei Feinheiten. Heute geht es um &#039;0:0&#039; gegen &#039;00:00&#039;. Welcher der beiden Werte ist gr&amp;ouml;&amp;szlig;er?&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier new,courier;&quot;&gt;Die Antwort lautet: Der erste Wert.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier new,courier;&quot;&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;echo &#039;0:0&#039; &amp;gt; &#039;00:00&#039;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Ergibt als Ergebnis 1 (bzw. true).&lt;/p&gt;&lt;p&gt;MySQL sieht das genauso:&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier new,courier;&quot;&gt;SELECT &#039;0:0&#039; &amp;gt; &#039;00&#039;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Das Ergebnis ist hier ebenfalls 1.&lt;/p&gt;&lt;p&gt;Relevant wird das beim Vergleich von zwei Datumswerten.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier new,courier;&quot;&gt;&#039;2012-02-20 0:0:0&#039; &amp;gt; &#039;2012-02-20 00:00:00&#039;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;So ist zum Beispiel auch folgender Vergleich als Ergebnis &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;true&lt;/span&gt;:&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier new,courier;&quot;&gt;&#039;2012-02-20 0:0:0&#039; &amp;gt; &#039;2012-02-20 09:59:59&#039;&lt;/span&gt;&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/-0-0-00-00-584.html&quot; title=&quot;&#039;0:0&#039; &gt; &#039;00:00&#039;&quot;&gt;&#039;0:0&#039; &gt; &#039;00:00&#039;&lt;/a&gt;</description>
       <pubDate>Mon, 20 Feb 2012 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>HTML-Dateien bei Strato als PHP-Dateien parsen</title>
       <link>http://scriptblogger.de/html-dateien-bei-strato-als-php-dateien-parsen-582.html</link>
       <guid>http://scriptblogger.de/html-dateien-bei-strato-als-php-dateien-parsen-582.html</guid>
       <description>&lt;p&gt;Das Wichtigste gleich vorweg. Strato erlaubt es nicht, Dateien mit der Endung .html als PHP-Dateien parsen zu lassen. Wer PHP-Code in seinen .html-Dateien ausf&amp;uuml;hren m&amp;ouml;chte, muss die Dateien in .php-Dateien umbenennen.&lt;/p&gt;&lt;p&gt;Problematisch wird das beim Thema Suchmaschinenoptimierung. Einfach mal alle Dateinamen &amp;auml;ndern kann sich nachteilig auf das Ranking auswirken.&lt;/p&gt;&lt;p&gt;Die L&amp;ouml;sung ist mod_rewrite. Mit einer einfachen Anweisung in der .htaccess werden alle .html-Dateien im Hintergrund in .php-Dateien umgeschrieben:&lt;/p&gt;&lt;pre&gt;RewriteEngine on&lt;br /&gt;RewriteRule ^(.*).html$ $1.php&lt;/pre&gt;&lt;p&gt;Damit k&amp;ouml;nnen alle Links zu .html-Dateien gleich bleiben, obwohl alle Dateien in .php-Dateien umbenannt wurden.&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/html-dateien-bei-strato-als-php-dateien-parsen-582.html&quot; title=&quot;HTML-Dateien bei Strato als PHP-Dateien parsen&quot;&gt;HTML-Dateien bei Strato als PHP-Dateien parsen&lt;/a&gt;</description>
       <pubDate>Sat, 18 Feb 2012 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>Bessere Performance ohne MDB2</title>
       <link>http://scriptblogger.de/bessere-performance-ohne-mdb2-579.html</link>
       <guid>http://scriptblogger.de/bessere-performance-ohne-mdb2-579.html</guid>
       <description>&lt;p&gt;&lt;a href=&quot;/pear-mdb2-ersetzt-574.html&quot;&gt;Letztens schrieb ich&lt;/a&gt;, dass wir MDB2 durch eine Eigenentwicklung ersetzt haben. Die Entscheidung beruhte einzig allein auf der Tatsache, dass es mit MDB2 in Verbindung mit bestimmten MySQL-Versionen auf einigen Servern Probleme gab.&lt;/p&gt;&lt;p&gt;Heute offenbarte sich ein weiterer Vorteil. Bei unserem &lt;a href=&quot;http://www.appointmind.de/&quot; target=&quot;_blank&quot;&gt;Terminplaner&lt;/a&gt; hat sich die Script-Laufzeit um 200ms verringert. B-)&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/bessere-performance-ohne-mdb2-579.html&quot; title=&quot;Bessere Performance ohne MDB2&quot;&gt;Bessere Performance ohne MDB2&lt;/a&gt;</description>
       <pubDate>Thu, 16 Feb 2012 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>PEAR MDB2 ersetzt</title>
       <link>http://scriptblogger.de/pear-mdb2-ersetzt-574.html</link>
       <guid>http://scriptblogger.de/pear-mdb2-ersetzt-574.html</guid>
       <description>&lt;p&gt;Wir haben bei unseren Scripten weitestgehend auf &lt;a href=&quot;http://pear.php.net/package/MDB2&quot; target=&quot;_blank&quot;&gt;MDB2&lt;/a&gt; gesetzt. In letzter Zeit h&amp;auml;ufte sich jedoch das Problem, dass die Scripte keine Verbindung zur Datenbank herstellen konnten. Irgendwo mitten in einer wirklich langen Kette von Methodenaufrufen ging die Datenbankverbindung verloren. Wortw&amp;ouml;rtlich. Nicht ganz klar ist wer genau daran schuld ist. Problematisch ist, dass die aktuellste Version von&lt;a href=&quot;http://pear.php.net/package/MDB2/download&quot; target=&quot;_blank&quot;&gt; MDB2 PHP 5.3 voraussetzt&lt;/a&gt;. Das bietet aber so gut wie kein Webhoster an. K&amp;ouml;nnen wir unseren Kunden also nicht ernsthaft  vorschlagen.&lt;/p&gt;&lt;p&gt;Jetzt haben wir uns zwei Wochen mit dem Gedanken getragen, MDB2 mit einer Eigenkreation zu ersetzen. So ein Schritt will aber gut &amp;uuml;berlegt sein, handelt es sich doch um das Herz der Anwendung. Quasi.&lt;/p&gt;&lt;p&gt;Am Ende war die neue Datenbankklasse schneller fertig als gedacht. Es wurden im Prinzip alle urspr&amp;uuml;nglich ben&amp;ouml;tigten MDB2-Funktionen nachgebaut und nur in einem der bestehenden Scripte  muss eine kleine &amp;Auml;nderung vorgenommen werden.&lt;/p&gt;&lt;p&gt;So sind wir ohne gro&amp;szlig;en Aufwand etwas unabh&amp;auml;ngiger von fremdem Code und schneller wird die Anwendung auch laufen. Unglaublich, was f&amp;uuml;r eine Masse Code MDB2 mitbringt.&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/pear-mdb2-ersetzt-574.html&quot; title=&quot;PEAR MDB2 ersetzt&quot;&gt;PEAR MDB2 ersetzt&lt;/a&gt;</description>
       <pubDate>Wed, 08 Feb 2012 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>PHP gegen Ruby gegen Python</title>
       <link>http://scriptblogger.de/php-gegen-ruby-gegen-python-568.html</link>
       <guid>http://scriptblogger.de/php-gegen-ruby-gegen-python-568.html</guid>
       <description>&lt;p&gt;&lt;a href=&quot;http://i.imgur.com/BjHl2l.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;float: right; margin-left: 30px; &quot; src=&quot;http://i.imgur.com/BjHl2l.jpg&quot; border=&quot;0&quot; width=&quot;115&quot; height=&quot;640&quot; /&gt;&lt;/a&gt;Seit jeher streiten sich Programmierer, welche Sprache denn die bessere sei. PHP, Ruby und Python haben ihre Fans und werden mit Z&amp;auml;hnen und Klauen verteidigt. Udemy hat eine &lt;a href=&quot;http://www.udemy.com/blog/modern-language-wars/&quot; target=&quot;_blank&quot;&gt;Infografik ver&amp;ouml;ffentlicht&lt;/a&gt;, welche die drei Sprachen gegen&amp;uuml;berstellt.&lt;/p&gt;&lt;p&gt;PHP gewinnt eindeutig in der Zahl der Nutzer und der Job-M&amp;ouml;glichkeiten f&amp;uuml;r Programmierer, verliert aber beim Thema Eleganz und Benutzbarkeit. Bei Python ist das genau anders herum aus und wird deshalb f&amp;uuml;r Programmieranf&amp;auml;nger empfohlen.&lt;/p&gt;&lt;p&gt;Ruby d&amp;uuml;mpelt immer in der Mitte herum. Es hat hier und da seine Vorteile, aber so richtig punkten kann es nirgendwo.&lt;/p&gt;&lt;p&gt;Meine Meinung? F&amp;uuml;r jedes Problem das passende Werkzeug. PHP ist beste Wahl, wenn man Web-Anwendungen an m&amp;ouml;glichst viele Website-Betreiber verkaufen m&amp;ouml;chte. Die nutzen zu 90% einem Shared-Webserver auf denen exotische Sachen wie Ruby oder Python nicht laufen. Ruby hat sicherlich seine Anwendungsgebiete und mit Rails ein beliebtes Framework. Mehr kann ich mangels Erfahrung dazu nicht sagen. Und mit Python sollte sich jeder eingehender befassen, der Programmierer bei Google werden wollte.&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/php-gegen-ruby-gegen-python-568.html&quot; title=&quot;PHP gegen Ruby gegen Python&quot;&gt;PHP gegen Ruby gegen Python&lt;/a&gt;</description>
       <pubDate>Tue, 31 Jan 2012 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>VerfÃ¼gbarkeit der GD Library testen</title>
       <link>http://scriptblogger.de/verfuegbarkeit-der-gd-library-testen-561.html</link>
       <guid>http://scriptblogger.de/verfuegbarkeit-der-gd-library-testen-561.html</guid>
       <description>&lt;p&gt;In der Vergangenheit hatten viele unserer Nutzer Probleme mit den Captcha-Funktionen unserer Scripte. Meist fehlte die notwendige &lt;a href=&quot;http://www.php.net/manual/de/intro.image.php&quot; target=&quot;_blank&quot;&gt;GD Library&lt;/a&gt;. Mittlerweile haben die Support-Anfragen dazu aber abgenommen. Das liegt auch daran, dass wir vor einer Weile - so zwei oder drei Jahre her - den Gro&amp;szlig;teil unserer &lt;a href=&quot;http://www.gentlesource.de/&quot; target=&quot;_blank&quot;&gt;PHP-Scripte&lt;/a&gt; mit einer alternativen Captcha-Funktion ausgestattet haben, die auch standardm&amp;auml;&amp;szlig;ig aktiviert ist. Die bringt die Buchstabenbilder schon fertig mit und kann dadurch auf die GD Library verzichten. Wenn wir jedoch trotzdem mit dem alten Problem konfrontiert werden, nutzen wir folgendes Script zum Testen der Verf&amp;uuml;gbarkeit der GD Library.&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;&amp;lt;?php &lt;br /&gt; &lt;br /&gt;header&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&quot;Content-type:&amp;nbsp;image/png&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;); &lt;br /&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$im&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;nbsp;@&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;imagecreatetruecolor&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;200&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;or&amp;nbsp;die(&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&quot;Cannot&amp;nbsp;Initialize&amp;nbsp;new&amp;nbsp;GD&amp;nbsp;image&amp;nbsp;stream&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;); &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$text_color&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;imagecolorallocate&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$im&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;233&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;14&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;91&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;); &lt;br /&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;imagestring&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$im&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;38&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;GD&amp;nbsp;Test&amp;nbsp;Successful&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$text_color&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;); &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;imagepng&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$im&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;); &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;imagedestroy&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$im&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;); &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/verfuegbarkeit-der-gd-library-testen-561.html&quot; title=&quot;VerfÃ¼gbarkeit der GD Library testen&quot;&gt;VerfÃ¼gbarkeit der GD Library testen&lt;/a&gt;</description>
       <pubDate>Mon, 23 Jan 2012 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>Web-Kommandozeile fÃ¼r MySQL</title>
       <link>http://scriptblogger.de/web-kommandozeile-fuer-mysql-559.html</link>
       <guid>http://scriptblogger.de/web-kommandozeile-fuer-mysql-559.html</guid>
       <description>&lt;p&gt;Wer &amp;ouml;fter mal Kunden bei Problemen mit Scripten und MySQL-Datenbanken helfen muss, wird folgendes Script n&amp;uuml;tzlich finden. Nicht immer hat man phpMyAdmin zur Verf&amp;uuml;gung oder Zugriff darauf. Und wer will bei jedem kleinen Problem immer gleich seine eigene phpMyAdmin-Version hochladen. Das Ding wiegt mehrere MB, hat zig Dateien und braucht ewig, bis es hochgeladen ist.&lt;/p&gt;&lt;p&gt;Wer dieses Script nutzt, sollte damit umgehen, wie mit Munition. F&amp;uuml;r Eingaben wie &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;DELETE FROM&lt;/span&gt; oder &lt;span style=&quot;font-family: courier new,courier;&quot;&gt;DROP TABLE&lt;/span&gt; gibt es keine Sicherheitsabfragen. Was weg ist, ist weg.&lt;/p&gt; &lt;a href=&quot;http://scriptblogger.de/web-kommandozeile-fuer-mysql-559.html&quot; title=&quot;Web-Kommandozeile fÃ¼r MySQL&quot;&gt;Gesamten Artikel lesen ...&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/web-kommandozeile-fuer-mysql-559.html&quot; title=&quot;Web-Kommandozeile fÃ¼r MySQL&quot;&gt;Web-Kommandozeile fÃ¼r MySQL&lt;/a&gt;</description>
       <pubDate>Sat, 21 Jan 2012 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>Stellenanzeige fÃ¼r Kiddies</title>
       <link>http://scriptblogger.de/stellenanzeige-fuer-kiddies-555.html</link>
       <guid>http://scriptblogger.de/stellenanzeige-fuer-kiddies-555.html</guid>
       <description>&lt;p&gt;Ich bin gerade &amp;uuml;ber folgende Stellenanzeige&amp;nbsp;PHP &amp;amp; MySQL Entwickler gestolpert.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;/cache/images/stellenanzeige.png&quot; border=&quot;0&quot; title=&quot;Stellenanzeige PHP &amp;amp; MySQL Entwickler&quot; width=&quot;548&quot; height=&quot;505&quot; /&gt;&lt;/p&gt;&lt;p&gt;Wirklich? Energy Drinks in verschiedenen Farben? Wirklich? Gyros &amp;amp; Falafel Freitag? Wen suchen die? Teenager? Was haben diese albernen Dinge in einer Stellenanzeige zu suchen.&lt;/p&gt;&lt;p&gt;Dabei liest sich der Rest der Anzeige ganz ansprechend.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;/cache/images/stellenanzeige2.png&quot; border=&quot;0&quot; title=&quot;Stellenanzeige PHP &amp;amp; MySQL Entwickler&quot; width=&quot;363&quot; height=&quot;396&quot; /&gt;&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/stellenanzeige-fuer-kiddies-555.html&quot; title=&quot;Stellenanzeige fÃ¼r Kiddies&quot;&gt;Stellenanzeige fÃ¼r Kiddies&lt;/a&gt;</description>
       <pubDate>Tue, 17 Jan 2012 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>Excel-Dateien mit PHP</title>
       <link>http://scriptblogger.de/excel-dateien-mit-php-524.html</link>
       <guid>http://scriptblogger.de/excel-dateien-mit-php-524.html</guid>
       <description>&lt;p&gt;Falls jemand MS Excel-Dateien mit PHP erstellen m&amp;ouml;chte, dem sei &lt;a href=&quot;http://pear.php.net/package/Spreadsheet_Excel_Writer&quot; target=&quot;_blank&quot;&gt;Spreadsheet_Excel_Writer&lt;/a&gt; empfohlen. In der Beschreibung wird zwar darauf hingewiesen, dass der Code veraltet sei, aber wer sich traut findet eine einfach zu verwendende Bibliothek vor.&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;&amp;lt;?php&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;require_once&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;Spreadsheet/Excel/Writer.php&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff8000;&quot;&gt;//&amp;nbsp;Creating&amp;nbsp;a&amp;nbsp;workbook&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$workbook&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;Spreadsheet_Excel_Writer&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;();&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff8000;&quot;&gt;//&amp;nbsp;sending&amp;nbsp;HTTP&amp;nbsp;headers&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$workbook&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;send&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;test.xls&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff8000;&quot;&gt;//&amp;nbsp;Creating&amp;nbsp;a&amp;nbsp;worksheet&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$worksheet&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$workbook&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;addWorksheet&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;My&amp;nbsp;first&amp;nbsp;worksheet&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff8000;&quot;&gt;//&amp;nbsp;The&amp;nbsp;actual&amp;nbsp;data&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$worksheet&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;write&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;Name&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$worksheet&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;write&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;Age&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$worksheet&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;write&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;John&amp;nbsp;Smith&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$worksheet&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;write&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$worksheet&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;write&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;Johann&amp;nbsp;Schmidt&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$worksheet&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;write&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;31&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$worksheet&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;write&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;Juan&amp;nbsp;Herrera&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$worksheet&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;write&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;32&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ff8000;&quot;&gt;//&amp;nbsp;Let&#039;s&amp;nbsp;send&amp;nbsp;the&amp;nbsp;file&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$workbook&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;close&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Einfacher geht es nicht. Allerdings wird es notwendig sein, einige der Deprecated-Warnungen zu beheben. Sollte f&amp;uuml;r den halbwegs ge&amp;uuml;bten Coder aber kein Problem sein.&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/excel-dateien-mit-php-524.html&quot; title=&quot;Excel-Dateien mit PHP&quot;&gt;Excel-Dateien mit PHP&lt;/a&gt;</description>
       <pubDate>Thu, 08 Dec 2011 00:00:00 +0100</pubDate>
    </item>
        <item>
       <title>PHP-Bibliothek fÃ¼r Google Checkout</title>
       <link>http://scriptblogger.de/php-bibliothek-fuer-google-checkout-509.html</link>
       <guid>http://scriptblogger.de/php-bibliothek-fuer-google-checkout-509.html</guid>
       <description>&lt;p&gt;Es gibt eine einfache &lt;a href=&quot;https://github.com/MontmereLimited/GoogleCheckout&quot; target=&quot;_blank&quot;&gt;Bibliothek f&amp;uuml;r PHP 5.3+ f&amp;uuml;r Google Checkout&lt;/a&gt;.&lt;/p&gt;&lt;pre&gt;&lt;span style=&quot;font-family: courier new,courier;&quot;&gt;    $merchant_id = &#039;123456789123&#039;;&lt;br /&gt;    $merchant_key = &#039;jklFJKLljkJFjkllKJl&#039;;&lt;br /&gt;    &lt;br /&gt;    $order = new GoogleCheckout\Order();&lt;br /&gt;    $order-&amp;gt;setMerchantId($merchant_id);&lt;br /&gt;    $order-&amp;gt;setMerchantKey($merchant_key);&lt;br /&gt;    &lt;br /&gt;    $item = new GoogleCheckout\Item();&lt;br /&gt;    $item-&amp;gt;setName(&quot;testitem&quot;);&lt;br /&gt;    $item-&amp;gt;setDescription(&quot;testdescription&quot;);&lt;br /&gt;    $item-&amp;gt;setPrice(&quot;150.00&quot;);&lt;br /&gt;    $item-&amp;gt;setQuantity(20);&lt;br /&gt;    &lt;br /&gt;    $order-&amp;gt;addItem($item);&lt;br /&gt;    &lt;br /&gt;    $redirect_url = $order-&amp;gt;getRedirectUrl();&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;Nat&amp;uuml;rlich gibt es da immer noch die &lt;a href=&quot;http://code.google.com/p/google-checkout-php-sample-code/&quot; target=&quot;_blank&quot;&gt;Bibliothek von Google&lt;/a&gt; selbst.&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/php-bibliothek-fuer-google-checkout-509.html&quot; title=&quot;PHP-Bibliothek fÃ¼r Google Checkout&quot;&gt;PHP-Bibliothek fÃ¼r Google Checkout&lt;/a&gt;</description>
       <pubDate>Tue, 20 Sep 2011 00:00:00 +0200</pubDate>
    </item>
        <item>
       <title>Script zum Testen von JSON-Schnittstellen</title>
       <link>http://scriptblogger.de/script-testen-json-schnittstellen-503.html</link>
       <guid>http://scriptblogger.de/script-testen-json-schnittstellen-503.html</guid>
       <description>&lt;p&gt;Wer Anwendungen schreibt, welche Daten per JSON zwischen Client und Server oder Server und Server austauschen, findet eventuell folgendes einfaches Script zum Testen n&amp;uuml;tzlich. Es macht nichts anderes als den Aufruf zu protokolieren (Datum, Uhrzeit, Daten) und ein einfaches Ergebnis zur&amp;uuml;ckzuliefern.&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;span style=&quot;color: #0000bb;&quot;&gt;&amp;lt;?php&amp;nbsp; &lt;br /&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$input&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;fopen&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;php://input&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;r&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;); &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$in&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;; &lt;br /&gt; &lt;br /&gt;while&amp;nbsp;(!&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;feof&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$input&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;))&amp;nbsp; &lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$in&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;.=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;fread&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$input&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;1024&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;);&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ff8000;&quot;&gt;//&amp;nbsp;read&amp;nbsp;1kB&amp;nbsp;at&amp;nbsp;a&amp;nbsp;time &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;} &lt;br /&gt; &lt;br /&gt;if&amp;nbsp;(!empty(&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$in&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;))&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;file_put_contents&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;android.log&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$in&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&quot;n&quot;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;FILE_APPEND&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;); &lt;br /&gt;} &lt;br /&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$result&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;nbsp;array(&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;status&#039;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;success&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;); &lt;br /&gt; &lt;br /&gt;echo&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;json_encode&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;(array(&lt;/span&gt;&lt;span style=&quot;color: #dd0000;&quot;&gt;&#039;result&#039;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;=&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000bb;&quot;&gt;$result&lt;/span&gt;&lt;span style=&quot;color: #007700;&quot;&gt;));&lt;/span&gt; &lt;/span&gt; &lt;/code&gt;&lt;/p&gt;  &lt;br /&gt;&lt;br /&gt;Dieser Beitrag ist bei &lt;a href=&quot;http://scriptblogger.de/&quot; title=&quot;ScriptBlogger&quot;&gt;ScriptBlogger&lt;/a&gt; erschienen. &lt;br /&gt;&lt;br /&gt;Link zu diesem Beitrag: &lt;a href=&quot;http://scriptblogger.de/script-testen-json-schnittstellen-503.html&quot; title=&quot;Script zum Testen von JSON-Schnittstellen&quot;&gt;Script zum Testen von JSON-Schnittstellen&lt;/a&gt;</description>
       <pubDate>Tue, 13 Sep 2011 00:00:00 +0200</pubDate>
    </item>
    
  </channel>
</rss>