Kategoriserade inlägg: Praktiska PHP-tips

Snygg felsökning i PHP med print_r

Ett litet tips hur du gör enkel felsökning i PHP med print_r(). Det är troligen en av de vanligaste felsökningsmetoder jag använder i PHP, för att till exempel se om en array skickas rätt. print_r() skriver ut innehållet i en array, så här beskrivs funktionen i online-manualen: Prints human-readable information about a variable Men inte… Read more »

Förvandla strängar snabbt

Det finns hemsidor där du kan se ditt nuvarande ip (t.ex. mittip.se). Det finns hemsidor där du kan snabbt kan köra PHPs funktioner om du inte orkar skriva in skapa en PHP-fil bara för att köra en funktion. urlencode.se är ett exempel. På htaccesstools kan du generera lösenord för Apache. Kan du hitta fler? :)… Read more »

Läsa in filnamn med svenska tecken

Ett problem när man bygger på äldre system brukar vara teckenkodning, speciellt för oss som använda svenska tecken ibland. Igår skulle jag läsa in ett dokument som hade ö i filnamnet. De olika dataformaten var i det här fallet blandade melan UTF8 och Latin 1/ISO-8859-1 (därför att det är ett gammal projekt som byggs på)…. Read more »

ImageMagick utan exec()

ImageMagick används för att hantera bilder med t.ex. PHP och ofta med funktionen exec(). Många webbhotell blockerar exec() av säkerhetsskäl men med lite tur finns ändå ImageMagick installerat. Under arbete åt en kund som använder Webbkonsulterna upptäckte jag att de har ImageMagick som kan användas genom PHPs klass istället för med exec(). Ett exempel på… Read more »

Offset i MySQL

Vill du hämta innehåll med offset i MySQL, dvs start några rader in och hämta resten av raderna? Där finns en liten egenhet hos MySQL, du måste ange hur många rader som ska hämtas (LIMIT) för att kunna ange var hämtningen ska starta. För att göra en hämtning av alla poster från databastabellen men hoppa… Read more »

strtolower och encoding

Ett problem som kan vara svårt att hitta är hantering av strtolower och encoding. Under en tid har jag jobbat med ett projekt som till viss del ligger på en Windows-plattform vi har begränsad kontroll över. Ibland blir det problem när man ska göra jämörelser av textsträngar och vill använda strtolower. Eftersom ”Mattias” inte är… Read more »

Vanliga fel att se upp med

Den senaste tiden har jag diskuterat med mina kollegor om det vanligaste PHP-felet att se upp med. Vi är överens om ett av de mest irriterande, ett glömt likamed tecken i en if-sats. När man jämför två värden i PHP kan man använda dubba lika-med tecken, så här: 1 2 3 if ($mittnamn == ‘Mattias’)… Read more »

Tvinga en bild att laddas om

Jag jobbade här om dagen med bildbeskärning, och behövde tvinga en bild att laddas om istället för att hämtas från webbläsarens cache. De vanliga tricken med att sätta headers och meta-taggar användes i skriptet, men bilden ville ändå inte laddas om direkt. Lösningen är att lägga till ett slumpat tal som querystring i bildnamnet. För… Read more »

Plocka bort och lägg till variabler som skickas i URL

Snubblade på två bra funktioner som enkelt låter dig lägga till och ta bort variabler från en URL (dvs en s.k. querystring). Själv använder jag den när en sida ska laddas om men med lite annan data. Funktionen på Added Bytes har skapats med reguljära uttryck (en. regular expressions) och PHP-funktionen preg_replace. Med reguljära uttryck… Read more »

Dynamiska konstanter i PHP

I de moderna versionerna av PHP kan man använda dynamiska konstanter, när de tilldelas värdet. En konstant är ungefär som en variabel, men behåller värdet genom hela skriptet och är global. De har heller inga dollar-tecken i namnet. För att tilldela värdet till en konstant gör du så här: <?php define(’KURSNAMN’, ‘Php-kurs’); ?> Du kan… Read more »

Formatera datum i WordPress

Jag fick en fråga idag hur man ändrar datumet i WordPress-teman. Det är ganska smidigt, WordPress funktioner the_date() och the_time() använder formatet från PHP-funktionen date(). Det betyder att du kan ändra datumets format med hjälp av olika tecken, som finns listade i en tabell i dokumentationen. Datum finns oftast utspridda lite överallt i temafilerna. Öppna… Read more »

Enkel slumpning av array

Om du ska slumpa fram innehåll i en array så kan det här vara ett bra litet skript. Jag har bland annat använt det för att välja en vinnare i Xodas bildutmaning. <?php // Jag skapar en array med de värden vi vill använda $input = array("Malin", "Magnus", "Terje", "TomasJ1", "TomasJ2", "Stefan", "Johnny", "Calandrella");  … Read more »

Flexibel config.php-fil för webbapplikationer

Vill du ha alla dina webbplatser installerade lokalt OCH på webbhotell? Då kan du göra det enkelt med en flexibel config.php för webbapplikationer som WordPress, Moodle, PHPBB3, XodaGallery etc. Din lokala testserver och webbhotellets server har ofta olika kontoinställningar och gör att du inte kan spara över konfigurationsfilen hur som helst. Jag använder metoden nedan… Read more »