Category Archives: PHP

Om bloggen PHP Webben

BTH – Nu med feedburner!

Jag har nu infört Feedburner för att hantera min RSS-feed på den här bloggen. Och jag ville ju inte tvinga alla att ställa om sina rss-läsare till en ny rss-url. Nej då fick jag leta lite efter en lösning. Och givetvis så finns det en enkel lösning med rewrites. Det du behöver är mod_rewrite aktiverad och din .htaccess-fil.

Tanken är att man ställer om /feed/ till en redirect till din feedburner-feed – om user agent inte är feedburners egna. Så klart. Följande kod lägger du in i .htaccess-filen, före WordPress egna rewrite regler.

# Feedburner tweak
RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC]
RewriteRule ^feed/?.*$ http://feeds.feedburner.com/-DIN FEEDBURNER LÄNK- [L,NC,R=302]
Viktigt är att den ligger före som sagt. Annars kommer rewriten köra WordPress egna först, och då är /feed/ inställd i WordPress egna kodbibliotek – det vill vi bara när Feedburner-roboten kommer och letar efter nya inlägg.
Detta är en utmärkt lösning om du har en WordPress-blogg men vill börja använda Feedburner utan att dina prenumeranter ska behöva uppdatera RSS-urlen.
PHP Projekt Webben

Bokkie

Har byt fokus, igen. Har börjat pilla med en liten webbapplikation som jag hoppas kan revolutionera sajtägare, besökare och mer.

Jag gillar inte riktigt grejen med RSS-läsare. Det är en sjukt bra uppfinning att ha allting samlat. Men min idé medverkar att flytta ut detta till webbplatserna igen. Det blir nog till en början en sharing-applikation och lite mashad med GReader. Vi får se. Jag skulle helst vilja skapa en gemenskap kring webbplatserna! Att man håller kolla på vad som händer, främst i bloggar, men att det ändå finns ett enkelt sätt att gå mellan bloggar och webbplatser, ungefär som ett community. Men du måste ha en egen webbplats för att få vara med…

PHP Projekt Seo

Statr

Statistiksystem. Det blev jag ganska sugen på igår. Så jag knåpade ihop en insamlare av data. Vad jag insåg var att det var väl den enklaste biten av det hela.

Jag knåpade ihop ett javascript som anropar ett php-script via en document.write som skriver ut en img-tagg. Det innebär att man skickar in parametrar med ett GET-anrop. I JavaScriptet kan man få ut ganska mycket. Jag valde att ta fram domän, scriptnamn, sidans titel och skärmupplösning.

Med tanke på en USP för tjänsten så tar jag in meta-information också, det vill säga keywords och description. Längre fram kan det vara intressant att lägga till annan funktionalitet vad gäller SEO. Min tanke var att ha en tjänst där man lätt kan överskåda vad användarna gör samt hur pass optimerad sidan är. Man vill ju att varje sida ska vara stark nog att behålla besökaren.

Men så klart finns det en lång wishlist som skulle göra en statistiktjänst mer användbar än andra. Men min tanke är att ha ett tydligt optimeringsfokus.

Vad kan man vilja ha utöver vad t.ex Google erbjuder?

PHP Servern

cachning

Jag läste en post som Joakim Jardenberg skrivit om cachning. WordPress har egna plugins som tar hand om detta. Förmodligen skriver pluginen till en katalog och kollar hela tiden där om det finns en fil som kan presenteras för användaren.

Jag gillar dock APC för PHP mycket bättre. APC sparar alla kompilerade script och kör dessa, om det inte skett någon förändring. I en produktionsmiljö tycker jag att APC ska vara standard. På min server så halverade jag access-tiden för alla script. Filcache i all ära, men PHP har fortfarande en amatörstämpel vad gäller smart funktionalitet.

Däremot kommer det alltid gå fortare att köra ett PHP script än ett Javabaserat script…

Idéer PHP

komplett webbsystem

Vad är ett komplett webbsytem?

Jag har ännu haft riktigt, riktigt svårt att definera vad som är perfekt. Hur ska man se på ett verktyg som ska hjälpa att publicera innehåll? Ska det vara plattform-, applikation- eller siteperspektiv? Det finns ungefär lika många perspektiv att försätta sig i som det finns webbprogrammerare.

Ännu större fråga är, ska man utveckla helt från grunden, eller ska man bygga på något som redan finns?

Det är även viktiga att kunna skilja på frontend och backend. Samt att systemet ska kunna byggas till ett komplett affärskritiskt verktyg. Stora krav!

Sedan vill jag att det ska vara möjligt att köra som core och sites. Men även en hel applikation utan att någon annan applikation känner till den andre. Den ska alltså kunna säljas som fristående men samtidigt fungera som delad.

Lite som Drupal, fast Drupal är riktigt, riktigt knepigt att sätta sig in i. Jag har inte haft orken eller tiden till det. Dessutom har jag förstått att Drupal inte är riktigt den core som jag skulle vilja ha. Rent strukturmässigt ska coren ligga minst en katalog under sajtägaren som har en “root” där de kan göra vafan de vill.

Systemet ska även vara otroligt SEO-vänligt. Med unika titeltaggar, meta, mod_rewrite och hela köret!

PHP Projekt

filhantering och musikuppladdning

Har idag gjort en funktion som är, i runda slängar, 1,5 år sen. Funktionen är till för rappkollektivet som ska kunna ladda upp sina album i en zip och sedan ska man kunna ladda ned enskilda låtar. Det ska skapas snygg diskografi osv.

Tidigare har jag gjort det manuellt. Men nu är jag shapeat upp mig och skrivit importen. Det enda är att de laddar upp en zip via ftp. Annars är det riktigt snygg lösning.

Funktionen unzippar zippen och placerar innehållet i en mapp. Sedan så kan man enkelt fylla i låttitlar och albumnamn. Sedan klickar man på “Importera”, och vipps så har man ett album med tillhörande låtar som flyttats till ett snyggt filarkiv.

Jag är nöjd.

PHP Servern

därför använder vi postgresql

Från en exekveringstid på 4,5 sek till 120 ms. Det är vad man kan åstadkomma med ett simpelt Clustered  Btree index i Postgresql. SQLn som skulle köras var en DELETE som skulle ta bort alla dubletter med samma parentid, datum, tid och inte bara aktuell primärnyckel. Jag la ett Clustered Btree Index på datum kolumnen och det var räddningen!

PHP

exec och windows 2003 server

Har du någon gång upplevt att det är trögt att köra exec-funtionen på en Windows 2003 server? Förmodligen inte. Inte många knasbollar här i världen som ens skulle tänka tanken.

Men nu har vi lösningen på problemet!

Lösningen heter session_write_close();

Innan varje anrop till exec så anropar du session_write_close. Funktionen har till uppgift att skriva sessionen till disk, det som händer ändå i slutet av varje script. Men denna funktion forcear en skrivning och stängning. Således verkar exec och session_write_close inte ha ett dugg gemensamt! Men uppenbarligen, och bevisligen kan det fungera i vissa fall.

PHP Webben

sqlbuddy

Ikväll upptäckte jag en fin applikation som gott och väl kommer att utmana phpMyAdmin i intuitivitet och smidighet. Den heter SQL Buddy och verkar vara riktigt bra. Har bara klickat runt en aning. Men man inser ganska fort om en applikation har potential eller inte.

PHP Projekt

screenscrape and stuff

Så idag har jag hittat mina källor för nya skivor och album. Har länge tänkt skapa en ordentlig import för skivorna. Nu när jag dessutom har en till sajt som behöver skivor och album så kan det vara extra mycket lön för mödan i slutänden. Finns ju en hel del skivor. Så nu ska jag försöka bygga någonting som smart försöker visa det som är mest intressant. Jag ska bygga AI helt enkelt…

Hittade en fin PHP-klass som skrapar html tabell till array.

Mitt problem nu är att on-the-fly kunna importera albumomslag. Tankarna går kring att hämta det via Google. Men Google gillar inte robotar som hämtar information om nya skivor och album. Kanske att man kan hämta det från någon onlineaffär. Men de sidorna har inga roliga sökresultat.

Förmodligen behövs en mänsklig handpåläggning någonstans i processen. Det är bra mycket enklare att trycka på en bild än att behöva ladda upp en bild. I ett första skede kan man tänka sig att klistra in en url som i sin tur man hämtas, cropas och skalas automatiskt.