/images/avatar.webp

Full-Stack Webdeveloper
Stefan Gläßer

Middle-Aged Full-Stack Symfony-Webdeveloper mit über 20 Jahren Berufserfahrung. Gerne unterstütze ich Sie bei der Verwirklichung Ihrer Ideen und Projekte. Hier gibt es neben einer kurzen Vorstellung Interessantes aus der beruflichen und teils auch privaten Welt eines selbständigen Webworkers.

Bild von externer URL speichern

Hin und wieder hat man das Bedürfnis oder aber die Aufgabe, Bilder von bekannten URLs auf dem eigenen Rechner / Server zu speichern. Mit PHP gelingt dies relativ einfach und bequem. Folgende Utility-Klasse zeigt, wie es gehen könnte. class Utility { static public function getRemoteImage($url, $fileName) { // Hole das Bild von der URL $imageData = file_get_contents($url); // Erzeuge eine neue Datei auf dem Webserver // Das Zielverzeichnis muss für den Webserver-Benutzer beschreibbar sein $fileHandle = fopen($fileName, "w"); fwrite($fileHandle, $imageData); fclose($fileHandle); } } Um das Bild jetzt zu speichern, genügt nach Einbinden der Klasse folgender Aufruf:

Vollgelaufene Verzeichnisse aufräumen mit find & co

Jeder Admin kennt wohl das Problem, dass irgendwelche Verzeichnisse mit der Zeit immer voller werden, wenn man sie nicht zyklisch leer räumt. Ein kleiner Cronjob kann einem hier lästige Handarbeit abnehmen. So löscht folgender Einzeiler beispielsweise alle Apache-Log-Dateien, die älter sind, als 30 Tage: /usr/bin/find /var/log/apache2/ -name "*.gz" -mtime +30 -exec rm {} \; Das Ganze als täglichen Cronjob eingerichtet und schon hat man eine mögliche Sorge weniger.

Mein erstes Symfony Projekt: Unter der Haube Achtung-Bücher.de

Seit kurzem dümpelt (noch!) unser neues Verkaufsportal für neue und gebrauchte Bücher im Internet herum – erreichbar über die leicht einzuprägende URL achtung-buecher.de. Wie schlecht das Ganze doch geworden ist, kann man z.B. im Geizmonster-Forum nachlesen. Vielen Dank an dieser Stelle auch an Herrn Mulzer für seine durchaus konstruktive Kritik. Dass die Seite noch vor sich hin dümpelt, liegt allerdings weniger an der schlechten Optik (was ja eh sehr subjektiv ist), sondern vielmehr an der Tatsache, dass die Domain sehr jung ist und die einschlägigen Suchmaschinen noch nicht viel Content aufgesaugt haben.

CSV-Dateien mit variablen Header umsortieren

Ich stand diese Woche vor der Aufgabe, eine CSV-Datei einzulesen. Eigentlich ein triviales Problem. Knackpunkt dabei war allerdings, dass die CSV-Datei einen variablen Header besitzt. Ich wollte aus der CSV-Datei nur eine bestimmte Teilmenge extrahieren, die über alle CSV-Dateien gleich ist. Nur die Position der Information (Spalten) konnte variieren. Die Spaltennamen sind in alle CSV-Headern identisch. Anbei ein paar Codeschnipsel in PHP, wie ich das Problem gelöst habe. // Kopfzeile analysieren und Mapping bauen $fieldsFeedFirstLine = explode("\t",$feedData[0]); $i = 0; $arrPosition = array(); foreach ($fieldsFeedFirstLine as $fieldName) { switch ($fieldName) { case "column1" : $arrPosition[1] = $i; break; case "column2" : $arrPosition[2] = $i; break; case "column3" : $arrPosition[3] = $i; break; case "column4" : $arrPosition[5] = $i; break; case "column5" : $arrPosition[7] = $i; break; case "column6" : $arrPosition[8] = $i; break; } $i++; } ksort($arrPosition); Das Mapping-Array enthält jetzt die Quellposition ($i) und die Zielposition (Array-Key) für die gewünschte CSV-Datei.

Amazon: OrderReport ist nicht gleich OrderReport

Wie ich heute schmerzlich feststellen durfte. Den ganzen Tag am neuen Berichtsformat programmiert und nach dem Release feststellen müssen, dass der OrderReport bei Seller-Central Konten unterschiedlich aussieht als bei alten Marketplace-Konten. Angeblich haben die US-Entwickler nicht mit solch einer Konstellation von verschiedenen Konten gerechnet und es natürlich bisher nirgendwo dokumentiert. Erst ein Kontakt beim technischen Ansprechpartner in Luxemburg – an dem wie immer absolut nichts auszusetzen ist – brachte uns zu dieser Erkenntnis.

Rabattaktionen & etwas Layout-Umbau

Aktuell gibt es 3 neue Rabattaktionen von unseren Buchfreund-Antiquariaten. Im Zuge der Einrichtung teste ich gerade ein neues Layout der Produkte (vorzugsweise erstmal jene mit Bild) direkt auf den Händlerportraitseiten. Als Beispiel kann man sich ja mal die Produkte von Jokers zu Gemüte führen. Die Bilder von Jokers haben allesamt eine recht gute Qualität und bei ca. 95 % aller Artikel ist auch ein Bild vorhanden.