<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHP-kurs &#187; Praktiska PHP-tips</title>
	<atom:link href="http://www.phpkurs.se/category/praktiska-php-tips/feed" rel="self" type="application/rss+xml" />
	<link>http://www.phpkurs.se</link>
	<description>Lär dig PHP och MySQL på distanskurs</description>
	<lastBuildDate>Sun, 23 Oct 2011 08:35:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>ImageMagick utan exec()</title>
		<link>http://www.phpkurs.se/praktiska-php-tips/imagemagick-utan-exec.html</link>
		<comments>http://www.phpkurs.se/praktiska-php-tips/imagemagick-utan-exec.html#comments</comments>
		<pubDate>Wed, 19 Jan 2011 11:43:03 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[Praktiska PHP-tips]]></category>
		<category><![CDATA[Små skript]]></category>
		<category><![CDATA[Webbhotell]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=358</guid>
		<description><![CDATA[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å [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.imagemagick.org" class="external" rel="nofollow" target="_blank">ImageMagick</a> används för att hantera bilder med t.ex. PHP och ofta med funktionen <a href="http://php.net/manual/en/function.exec.php" target="_blank" rel="nofollow" class="external">exec()</a>. Många webbhotell blockerar exec() av säkerhetsskäl men med lite tur finns ändå ImageMagick installerat.</p>
<p>Under arbete åt en kund som använder <a href="http://www.wk.se/" target="_blank" rel="nofollow" class="external">Webbkonsulterna</a> upptäckte jag att de har ImageMagick som kan användas genom PHPs klass istället för med exec(). Ett exempel på vad man kan göra, en tumnageln av en PDF-fil:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/* 
 * Jag skapar inställningarna i variabler för att lättare kunna 
 * ändra och ev fixa till en funktion
 */</span>
<span style="color: #000088;">$input_file</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/path/to/inputfile.pdf[0]'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Sökväg till filen, [0] anger pdffilens sidnummer</span>
<span style="color: #000088;">$output_file</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/path/to/outputfile.jpg'</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Sökväg till tumnageln, här har jag valt en .jpg</span>
<span style="color: #000088;">$thumbnail_width</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">400</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Ställ in maxbredd</span>
<span style="color: #000088;">$thumbnail_height</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Maxhöjd, 0 betyder att den ska gå efter bredd</span>
<span style="color: #000088;">$jpeg_quality</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">80</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// jpeg kvalitet</span>
&nbsp;
<span style="color: #000088;">$im</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> imagick<span style="color: #009900;">&#40;</span><span style="color: #000088;">$input_file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// Skapa objektet med filen</span>
<span style="color: #000088;">$im</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setImageColorspace</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Färginställning</span>
<span style="color: #000088;">$im</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setCompression</span><span style="color: #009900;">&#40;</span>Imagick<span style="color: #339933;">::</span><span style="color: #004000;">COMPRESSION_JPEG</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Använd jpg-kompression</span>
<span style="color: #000088;">$im</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setCompressionQuality</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$jpeg_quality</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Kvalitet på jpeg</span>
<span style="color: #000088;">$im</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setImageFormat</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jpeg'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Format på filen</span>
<span style="color: #000088;">$im</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">thumbnailImage</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$thumbnail_width</span><span style="color: #339933;">,</span> <span style="color: #000088;">$thumbnail_height</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Skapa tumnagel med bredd/höjd</span>
<span style="color: #000088;">$im</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">writeImage</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$output_file</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Spara filen</span>
<span style="color: #000088;">$im</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">clear</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$im</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">destroy</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Kombinerat med lite filuppladdning, felhantering, jQuery reflect m.m. blir det här en mycket trevlig PDF-funktion.</p>
<p>Jag vet inte ens om detta hade varit möjligt att göra med det bibliotek som vanligen är inbyggt, GD2.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/praktiska-php-tips/imagemagick-utan-exec.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Offset i MySQL</title>
		<link>http://www.phpkurs.se/praktiska-php-tips/offset-i-mysql.html</link>
		<comments>http://www.phpkurs.se/praktiska-php-tips/offset-i-mysql.html#comments</comments>
		<pubDate>Wed, 03 Nov 2010 09:48:52 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[Databas]]></category>
		<category><![CDATA[Praktiska PHP-tips]]></category>
		<category><![CDATA[limit]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[offset]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=346</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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 (<code>LIMIT</code>) för att kunna ange var hämtningen ska starta.</p>
<p>För att göra en hämtning av alla poster från databastabellen men hoppa över de första anger du den största siffra som går som LIMIT. Så här kan det se ut:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> mytable <span style="color: #993333; font-weight: bold;">LIMIT</span> <span style="color: #cc66cc;">18446744073709551610</span> OFFSET <span style="color: #cc66cc;">10</span>;</pre></div></div>

<p>Koden ovan bör hämta alla rader utom de 10 första. Kanske inte så snyggt, men fungerar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/praktiska-php-tips/offset-i-mysql.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>strtolower och encoding</title>
		<link>http://www.phpkurs.se/praktiska-php-tips/strtolower-och-encoding.html</link>
		<comments>http://www.phpkurs.se/praktiska-php-tips/strtolower-och-encoding.html#comments</comments>
		<pubDate>Tue, 06 Jul 2010 18:11:59 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[Praktiska PHP-tips]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[svenska tecken]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=295</guid>
		<description><![CDATA[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 &#8221;Mattias&#8221; inte är [...]]]></description>
			<content:encoded><![CDATA[<p>Ett problem som kan vara svårt att hitta är hantering av <a href="http://se2.php.net/manual/en/function.strtolower.php" rel="nofollow"  target="_blank" class="external"><code>strtolower</code></a> 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 &#8221;Mattias&#8221; inte är samma sak som &#8221;mattias&#8221; vill man se till att båda värden man jämför bara innehåller gemener (eller versaler). Men <code>strtolower()</code> vill inte lira med å,ä,ö etc i UTF-8. </p>
<p>En lösning på problemet kan vara att ändra tecken till något annat &#8211; varför inte <a href="http://se2.php.net/manual/en/function.htmlentities.php" rel="nofollow"  target="_blank" class="external"><code>htmlentities()</code></a>. Så här kan det se ut att förvandla ett värde till gemener och komma runt encoding problem:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #990000;">htmlentities</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">ENT_COMPAT</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'UTF-8'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #990000;">html_entity_decode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">ENT_COMPAT</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'UTF-8'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>En annan lösning är <a href="http://se2.php.net/manual/en/function.mb-strtolower.php" rel="nofollow"  target="_blank" class="external"><code>mb_strtolower()</code></a> om den funktionen finns tillgänlig.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/praktiska-php-tips/strtolower-och-encoding.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vanliga fel att se upp med</title>
		<link>http://www.phpkurs.se/praktiska-php-tips/vanliga-fel-att-se-upp-med.html</link>
		<comments>http://www.phpkurs.se/praktiska-php-tips/vanliga-fel-att-se-upp-med.html#comments</comments>
		<pubDate>Thu, 11 Mar 2010 19:44:26 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[Praktiska PHP-tips]]></category>
		<category><![CDATA[felsökning]]></category>
		<category><![CDATA[metoder]]></category>
		<category><![CDATA[syntax]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=283</guid>
		<description><![CDATA[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 &#40;$mittnamn == 'Mattias'&#41; [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>När man jämför två värden i PHP kan man använda dubba lika-med tecken, så här:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$mittnamn</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'Mattias'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Hello Mattias'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>När man tilldelar värden till variabler används ett lika-med tecken:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$mittnamn</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Mattias'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Tänk dig då vad som händer med den här koden:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$mittnamn</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Mattias'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'Hello Mattias'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Den jämför inte värden, den testar om det går att tilldela $mittnamn värdet <em>&#8216;Mattias&#8217;</em>. If-satsen som var till för kontrollera om variabeln <code>$mittnamn</code> har värdet <em>&#8216;Mattias&#8217;</em> kommer nu alltid vara sant. Även om <code>$mittnamn</code> innehåller namnet <em>&#8216;Vera&#8217;</em> kommer <em>&#8216;Hello Mattias&#8217;</em> skrivas ut.</p>
<p>Eftersom det är fullt möjligt att använda en if-sats på båda visen genereras inget felmeddelande. Och är man lite trött och stirrat sig blind på samma skript länge kan det vara väldigt svårt att hitta.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/praktiska-php-tips/vanliga-fel-att-se-upp-med.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tvinga en bild att laddas om</title>
		<link>http://www.phpkurs.se/praktiska-php-tips/tvinga-en-bild-att-laddas-om.html</link>
		<comments>http://www.phpkurs.se/praktiska-php-tips/tvinga-en-bild-att-laddas-om.html#comments</comments>
		<pubDate>Sat, 09 Jan 2010 12:09:37 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[Praktiska PHP-tips]]></category>
		<category><![CDATA[bild]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[gd2]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=249</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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 att enkelt få ut slumptal använder jag funktionen <a href="http://se.php.net/manual/en/function.rand.php" rel="nofollow"  class="external" target="_blank" rel="external">rand()</a>. Kanske inte den snyggaste av lösningar, men den fungerar.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;img src=&quot;bild.jpg?<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">3000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; /&gt;</pre></div></div>

<p>Webbläsaren noterar att det är annorlunda adress vid varje besök och laddar om bilden, men ignorerar delen efter &#8221;?&#8221;.</p>
<p class="bloggar-se">
Läs även andra bloggares åsikter om <a href="http://bloggar.se/om/bildhantering" rel="nofollow"  rel="tag">bildhantering</a>, <a href="http://bloggar.se/om/skript" rel="nofollow"  rel="tag">skript</a>, <a href="http://bloggar.se/om/php" rel="nofollow"  rel="tag">php</a>, <a href="http://bloggar.se/om/cache" rel="nofollow"  rel="tag">cache</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/praktiska-php-tips/tvinga-en-bild-att-laddas-om.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plocka bort och lägg till variabler som skickas i URL</title>
		<link>http://www.phpkurs.se/praktiska-php-tips/plocka-bort-och-lagg-till-variabler-som-skickas-i-url.html</link>
		<comments>http://www.phpkurs.se/praktiska-php-tips/plocka-bort-och-lagg-till-variabler-som-skickas-i-url.html#comments</comments>
		<pubDate>Thu, 07 May 2009 13:18:12 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[Länktips]]></category>
		<category><![CDATA[Praktiska PHP-tips]]></category>
		<category><![CDATA[Små skript]]></category>
		<category><![CDATA[preg_replace]]></category>
		<category><![CDATA[querystring]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[url]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=163</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Snubblade på <a href="http://www.addedbytes.com/php/querystring-functions/" rel="nofollow"  target="_blank" class="external">två bra funktioner som enkelt låter dig lägga till och ta bort variabler från en URL</a> (dvs en s.k. querystring). Själv använder jag den när en sida ska laddas om men med lite annan data.</p>
<p>Funktionen på Added Bytes har skapats med reguljära uttryck (en. regular expressions) och PHP-funktionen <a href="http://se2.php.net/manual/en/function.preg-replace.php" rel="nofollow"  target="_blank" class="external">preg_replace</a>. Med reguljära uttryck kan man matcha en textsträng, även om den förändras, och arbeta med delar av den.</p>
<p><a href="http://www.addedbytes.com/php/querystring-functions/" rel="nofollow"  target="_blank"><img src="http://www.phpkurs.se/wp-content/uploads/2009/05/querystring-regexp-addedbytes.png" alt="querystring-regexp-addedbytes" title="querystring-regexp-addedbytes" width="280" height="167" class="aligncenter size-full wp-image-164" /></a></p>
<div class="bloggar-se">
Läs även andra bloggares åsikter om <a href="http://bloggar.se/om/regexp" rel="nofollow"  rel="tag">regexp</a>, <a href="http://bloggar.se/om/url" rel="nofollow"  rel="tag">url</a>, <a href="http://bloggar.se/om/snippets" rel="nofollow"  rel="tag">snippets</a>, <a href="http://bloggar.se/om/kodtips" rel="nofollow"  rel="tag">kodtips</a>, <a href="http://bloggar.se/om/php" rel="nofollow"  rel="tag">php</a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/praktiska-php-tips/plocka-bort-och-lagg-till-variabler-som-skickas-i-url.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamiska konstanter i PHP</title>
		<link>http://www.phpkurs.se/praktiska-php-tips/dynamiska-konstanter-i-php.html</link>
		<comments>http://www.phpkurs.se/praktiska-php-tips/dynamiska-konstanter-i-php.html#comments</comments>
		<pubDate>Fri, 17 Apr 2009 12:43:11 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[Praktiska PHP-tips]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[konstanter]]></category>
		<category><![CDATA[variabler]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=142</guid>
		<description><![CDATA[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: &#60;?php define&#40;'KURSNAMN', 'Php-kurs'&#41;; ?&#62; Du kan [...]]]></description>
			<content:encoded><![CDATA[<p>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:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'KURSNAMN'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Php-kurs'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Du kan sedan använda konstanten genom skriptet:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">echo</span> KURSNAMN<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Men du kan alltså tilldela ett dynamiskt värde numera:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'PATH_THIS'</span><span style="color: #339933;">,</span>  <span style="color: #990000;">basename</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Mycket smidigt. Tycker jag :) </p>
<div class="bloggar-se">Läs även andra bloggares åsikter om <a href="http://bloggar.se/om/konstanter" rel="nofollow"  rel="tag">konstanter</a>, <a href="http://bloggar.se/om/php" rel="nofollow"  rel="tag">php</a>, <a href="http://bloggar.se/om/kurser" rel="nofollow"  rel="tag">kurser</a>, <a href="http://bloggar.se/om/skript" rel="nofollow"  rel="tag">skript</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/praktiska-php-tips/dynamiska-konstanter-i-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Formatera datum i WordPress</title>
		<link>http://www.phpkurs.se/praktiska-php-tips/formatera-datum-i-wordpress.html</link>
		<comments>http://www.phpkurs.se/praktiska-php-tips/formatera-datum-i-wordpress.html#comments</comments>
		<pubDate>Fri, 16 Jan 2009 01:47:52 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[Praktiska PHP-tips]]></category>
		<category><![CDATA[datum]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=20</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Jag fick en fråga idag hur man ändrar datumet i WordPress-teman. Det är ganska smidigt, WordPress funktioner <code><a href="http://codex.wordpress.org/Template_Tags/the_date" rel="nofollow"  target="_blank" title="Läs mer om the_date() i WordPress dokumentation" class="external">the_date()</a></code> och <code><a href="http://codex.wordpress.org/Template_Tags/the_time" rel="nofollow"  target="_blank" class="external">the_time()</a></code> använder formatet från PHP-funktionen <code>date()</code>. Det betyder att du kan ändra datumets format med hjälp av olika tecken, som finns listade <a href="http://se2.php.net/manual/en/function.date.php" rel="nofollow"  target="_blank" title="Läs mer om date() i PHPs dokumentation">i en tabell i dokumentationen</a>.</p>
<p>Datum finns oftast utspridda lite överallt i temafilerna. Öppna dem i en texteditor och leta reda på <code>the_date()</code>. Testa att ändra till</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
the_date<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y-m-d'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Det borde ge datumformatet 2009-01-16. <strong>Y</strong> stå för år, <strong>m</strong> för månad och <strong>d</strong> för dag. Bindestrecken skrivs ut som just bindestreck. Det här går precis lika bra att använda i ditt eget kodande med funktionen <code>date()</code>. Skapa ett PHP-skript och laborera med olika teckenkombinationer. Här skriver jag ut datum och tid:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Y-m-d H:i:s'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/praktiska-php-tips/formatera-datum-i-wordpress.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enkel slumpning av array</title>
		<link>http://www.phpkurs.se/praktiska-php-tips/enkel-slumpning-av-array.html</link>
		<comments>http://www.phpkurs.se/praktiska-php-tips/enkel-slumpning-av-array.html#comments</comments>
		<pubDate>Tue, 13 Jan 2009 02:51:38 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[Praktiska PHP-tips]]></category>
		<category><![CDATA[Små skript]]></category>
		<category><![CDATA[slump]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=18</guid>
		<description><![CDATA[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. &#60;?php // Jag skapar en array med de värden vi vill använda $input = array&#40;&#34;Malin&#34;, &#34;Magnus&#34;, &#34;Terje&#34;, &#34;TomasJ1&#34;, &#34;TomasJ2&#34;, &#34;Stefan&#34;, &#34;Johnny&#34;, &#34;Calandrella&#34;&#41;; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>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 <a href="http://www.xoda.se/2009/01/13/deltagare-och-vinnare-i-utmaningen" rel="nofollow"  target="_blank">Xodas bildutmaning</a>.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// Jag skapar en array med de värden vi vill använda</span>
<span style="color: #000088;">$input</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Malin&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;Magnus&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;Terje&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;TomasJ1&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;TomasJ2&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;Stefan&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;Johnny&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;Calandrella&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Jag slumpar sedan fram numret på ett av värden i arrayen</span>
<span style="color: #666666; font-style: italic;">// med PHPs inbyggda funktion array_rand()</span>
<span style="color: #000088;">$rand_key</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_rand</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Jag skriver ut det slumpade värdet i arrayen. Jag känner inte till</span>
<span style="color: #666666; font-style: italic;">// värdet utan får använda varibeln från rad 7.</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$input</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$rand_key</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Svårare än så behöver det inte vara, men det beror lite på vad du </span>
<span style="color: #666666; font-style: italic;">// vill slumpa fram. För lösenord och liknande berhöver man göra </span>
<span style="color: #666666; font-style: italic;">// mer avancerade saker.</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/praktiska-php-tips/enkel-slumpning-av-array.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flexibel config.php-fil för webbapplikationer</title>
		<link>http://www.phpkurs.se/praktiska-php-tips/flexibel-configphp-fil-for-webbapplikationer.html</link>
		<comments>http://www.phpkurs.se/praktiska-php-tips/flexibel-configphp-fil-for-webbapplikationer.html#comments</comments>
		<pubDate>Tue, 06 Jan 2009 21:39:00 +0000</pubDate>
		<dc:creator>Mattias</dc:creator>
				<category><![CDATA[Praktiska PHP-tips]]></category>
		<category><![CDATA[Applikationer]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.phpkurs.se/?p=11</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Vill du ha alla dina webbplatser installerade lokalt OCH på webbhotell? Då kan du göra det enkelt med en <strong>flexibel <code>config.php</code> för webbapplikationer</strong> som WordPress, Moodle, PHPBB3, XodaGallery etc.</p>
<p>Din lokala testserver och webbhotellets server har ofta olika kontoinställningar och gör att du inte kan spara över konfigurationsfilen hur som helst.</p>
<p>Jag använder metoden nedan för att slippa joxa med flera konfigurationsilfer, så kan jag bara skriva över dem fram och tillbaka med mitt FTP-program utan att det gör något. Test att köra följande i en PHP-fil på ditt webbhotell och på din egen server:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'SERVER_NAME'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Förhoppningsvis får du &#8221;<span style="color: #333399;">localhost</span>&#8221; på egen server och liknande &#8221;<span style="color: #333399;">www.domänen.se</span>&#8221; på ditt webbhotell. Du kan använda server-värdet och en if-sats i <code>config.php</code> för att använda olika kontonamn beroende på var filen körs. Här ett exempel med variabeln för databasvärd i WordPress <code>config.php</code>:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'SERVER_NAME'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'www.domänen.se'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_HOST'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'mysql.domänen.se'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DB_HOST'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'localhost'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Du behöver förstås byta ut &#8221;domänen.se&#8221; ovan med ditt eget domännamn. Gör också ett test för att se resultatet av <code>$_SERVER['SERVER_NAME']</code> också, servrar kan ha olika inställningar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phpkurs.se/praktiska-php-tips/flexibel-configphp-fil-for-webbapplikationer.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

