Stream a file with StreamedResponse in Symfony
Wow, long time no blog post, huh? Here’s a quick tip how to stream a (presumably large) file to your client with Symfony without the need to load the file into memory.
<?php $file = '/tmp/a-large-file.jpg'; $format = pathinfo($file, PATHINFO_EXTENSION); return new \Symfony\Component\HttpFoundation\StreamedResponse( function () use ($file) { readfile($file); }, 200, array('Content-Type' => 'image/' . $format) );
Sources
Note to self
Note to self: nicht hektisch zwischen Küche und Texteditor hin und her rennen – stresst nur und es kommt auf beiden Seiten nix vernünftiges raus. Btw: ich muss zurück in die Küche ;)
Google Chrome
Sieht sehr interessant aus, bin mal gespannt, wie das dann in Realität aussieht. Anscheinend soll die erste Beta für Windows heute noch rauskommen. Der Comic ist übrigens sehr anschaulich und interessant gestaltet und einen Blick wert.
Update: der Browser ist mittlerweile für Windows XP/Vista verfügbar. Habs mir gleich mal angesehen und bin durchaus positiv überrascht. Nach 15 Minuten testbrowsen kann ich nur sagen: der gesamte Browser ist sehr schnell, sei es beim Starten des Browsers selbst aber auch beim Rendern von Webseiten. Die Oberfläche ist gut gelungen und wirkt sehr aufgeräumt und auf das Nötigste beschränkt. Subtile Animationen lassen den Browser dabei sehr “flüssig” wirken. Interessant und gut umgesetzt finde ich den Downloadmanager mit Fortschrittsanzeige am unteren Browserrand und die Statuszeile, die nur bei Bedarf eingeblendet wird. Alleine die Tabs am oberen Rand sind vielleicht etwas gewöhnungsbedürftig, besonders im Vollbildmodus. Um Chrome wirklich einzusetzen fehlen mir diverse Features wie beispielsweise der “automatische Bildlauf” oder die Möglichkeit, URLs per Drag&Drop auf einen Tab zu öffnen, der Browser hat aber einiges an Potential und ich freu mich auf weitere Versionen.
Shiny and new
After having moved to a new server yesterday, I just installed the new theme I was working on in my spare time for the last weeks. I set the focus on a clean, bright and typography-oriented design and I’m quite satisfied with the result. Heavily based on Thematic, Sandbox and Blueprint CSS, I had a very good platform to build on and skipped the most part of digging in WordPress’ theme documentation. Please let me know if you run into any problems.
Unglaublich…
…Vista schaffts doch tatsächlich immer noch, A: als Defaultlaufwerk für die Treiberinstallation vom Datenträger zu wählen und dadurch das Öffnen des Dialogs durch die erfolglose Suche nach dem schon vor Jahren gewichenen Diskettenlaufwerk erheblich zu verlangsamen. Ein “Feature”, das mich immer schon genervt hat…

AutoThumb WordPress plugin and English posts
![]()
I’m proud to announce two first-timers today: my first officially released WordPress plugin and the first page on this blog I wrote in English. It’s kind of a challenge to my English skills, so please correct me if you find any errors — I’m sure you will ;)
The plugin integrates the great phpThumb library into WordPress and therefore allows you to post images in different sizes flexibly.
Here we go: WordPress Plugin: AutoThumb
Kleineres Design-Update
Es gibt mal wieder ein kleineres Design-Update:
- das Theme ist nun komplett auf Blueprint CSS Grids aufgebaut
- Inhalte aus der Sidebar sind in einen neuen Footer gewandert
- das orange Farbschema wurde durch ein grasgrünes ersetzt
Switch zu WordPress 2.5
Ich habe das Blog wieder mal reorganisiert und bin von MODx auf WordPress umgestiegen. MODx ist zwar ein super CMS, aber WordPress bietet, speziell zum bloggen, einiges mehr an Komfort und Leichtgängigkeit. Gerade Sachen wie Tagging und Kategorien, Feeds, Track-/Pingbacks funktionieren out-of-the-box und müssen nicht extra implementiert werden. Als ich dann von WordPress 2.5 gelesen habe, habe ich mir die neue Version mal angesehen und den Wechsel beschlossen.
Im Zuge dessen habe ich auch das Design leicht umgebaut (daran wird sich sowieso wieder bald was ändern, da mir das Ganze nun doch etwas zu orange-lastig ist ;-) ). Das Ganze ist jetzt mittig ausgerichtet und optisch teilweise an das Cutline-Theme angelehnt (sprich: ich habe mangels großer Kenntnisse von WordPress-Templates dieses Theme als Vorlage genommen und die entsprechenden Dateien editiert – im Moment ist noch einiges von Cutline in Verwendung, z.B. die Fehlerseiten). Die eine oder die andere Kante am Theme muss noch zurechtgefeilt werden (ich nenns einfach mal web2.0-mäßig ‘Beta’ ;-) ), aber da ich in ein paar Tagen eh Ferien hab, sollte sich dafür mal ein bisschen Zeit finden.
Ich hab eh noch ein paar Einträge “auf Lager”, die ich eigentlich schon länger schreiben wollte, aber wegen des bevorstehenden Systemwechsels hinausgezögert habe. Da ich jetzt endlich geswitcht habe, kanns munter weiter gehn :-)
Wieder zum Indianer zurück
Im Laufe einer Servererweiterung bin ich von Lighttpd wieder auf Apache zurück. Nicht dass ich mit Lighty nicht zufrieden gewesen wäre (v.A. in Bezug auf Geschwindigkeit, Speicherauslastung und einfacher Konfiguration), aber der Apache kann einfach mehr, speziell wenn es um DAV und SVN geht. Hab jetzt Apache mit PHP über mod-fcgid laufen und dazu endlich meines eigenes SVN-Repository + Trac :-)
Rezepte
Da ich gerne koche, habe ich mich entschlossen, hier ab und zu mal ein paar Rezepte aufzuschreiben. Ich koche eher nach Lust und Laune als nach Rezept, es kann also leicht sein, dass die Mengenangaben nicht immer ganz genau sind und man ein bisschen probieren muss :grin:. Im Moment fehlt mir so etwas wie eine Kamera, daher gibt es vorerst keine Fotos. Ich werde mich aber bemühen, dies schleunigst nachzuholen ;) …
Und es geht schon los: Pute in Ananas-Curry-Sauce
