Labora&on 7 Syfte med laborationen: - att förstå enkel 7ilhantering i PHP - att repetera grundläggande PHP- begrepp såsom loopar, arrayer, stränghantering och formulär. VIKTIGT: uppgift 3-5 är repetitionsuppgifter som behandlar grundläggande byggstenar i programmering och som måste behärskas. Det är därför viktigt att uppgifterna görs självständigt. Målet är inte att ni ska hinna bli klara med uppgift 3-5 under laborationstillfället, utan att ni jobbar med dem tills ni verkligen förstått dem. Förberedelser: - lägg 5 valfria png- bilder, 5 jpeg- bilder och 5 gif- bilder 150 x 150 px i /da130a/lab7/images. Se till att 7ilnamnen endast innehåller små bokstäver a- z samt eventuellt siffror. Lämna in följande: - Alla php- 7iler ihopzippade. OBS: Använd samma katalogstruktur som i laboration 1, dvs lägg alla 7iler i katalogen da130a/lab7 Uppgi. 1 Uppgiften går ut på att skriva ett PHP- script som visar alla bilder av typen gif, jpg eller png i en katalog. Skapa 7ilen index.php i mappen upp1. Skriv PHP- kod som gör följande: - De7inierar en variabel $imagepath som innehåller relativ sökväg från upp1 till katalogen images. - Sparar alla 7ilnamn i katalogen images i en variabel $7iles. Detta görs med funktionen scandir. - Loopar igenom array $7iles, och för varje 7ilnamn som slutar på jpg, gif eller png skapar lämplig html- kod för att visa bilden i 7ilen. Man kan använda funktionen pathinfo($<ilename, PATHINFO_EXTENSION) som returnerar 7il- ändelsen (tex jpg, gif eller png). Om images innehåller 15 bilder, 5 jpg, 5 png (samma bilder som jpg) och 5 gif (också samma bilder jpg) blir utskriften följande: 1
Uppgi. 2 Skapa ett formulär upp2/index.html där man med radiobuttons kan välja vilka bildformat som ska visas. Formuläret kan se ut så här: När man klickar Show pictures ska man komma vidare till sidan gallery.php. Om all är förbockad ska utskriften bli följande: 2
Om istället jpg är förbockad blir utskriften Uppgi. 3 - Repe&&onsuppgi. Uppgiften går ut på att skriva ut några egenskaper hos en lista med tal: - Antal tal i listan - De olika talen i listan. För att skriva ut de olika talen måste man loopa igenom listan. Listan är att antal tal lagrade i en array, tex $list = array(3, 7, 12, 18, 5, 4); Utskriften ska i detta fall bli: 3
Skriv koden i 7ilen index.php i upp3. Uppgi. 4 - Repe&&onsuppgi. Uppgiften går ut på att träna stränghantering. Filen index.php i upp4 ska göra följande: Några variabler innehåller information om länk, dels texten i länken, dels url som länken leder till. Dessutom variabler som innehåller annan text och rubrik. Utgå från följande variabler: $headline="stränghantering"; $text="dagens laborationshandledning finns färdig att "; $linktext="ladda ned"; $url="http://homeweb.mah.se/~k3bope/da130a/notes2011/public/lab7.pdf"; Kombinera utskrift av variablerna så att resultatet blir: Källkoden ska se ut ungefär så här: 4
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>stränghantering</title> </head> <body> <h3>stränghantering</h3> Dagens laborationshandledning finns färdig att <a href="http://homeweb.mah.se/~k3bope/da130a/notes2011/public/ lab7.pdf">ladda ned</a>. </body> </html> Uppgi. 5 - Repe&&onsuppgi. Gör ett formulär med fyra fält enligt nedan, döp 7ilen till index.html och lägg i upp5. När man skickar formuläret ska man komma till sidan link.php som innehåller php- kod som skapar en sida med samma uppbyggnad som i uppgift 4. Om man matar in Stränghantering i rubrik- fältet, Dagens laborationshandledning <inns färdig att i text- fältet etc ska resultatet bli precis som i förra uppgiften. Om man istället matar in följande 5
ska utskriften bli 6