Viikkotehtävä 10

Viikkotehtävää EI enää vuoden 2007 kurssilla!

Käytetään muiden tekemiä WWW-sivuja tai XML-dokumentteja tiedonlähteenä. Kokeillaan kuinka oikeilla HTTP-otsakkeilla ja välimuistilla vähennetään palvelimen kuormaa ja nopeutetaan palvelua. Tutustutaan Apachen handlereihin ja toteutetaan niiden avulla oma sivupohja.

Taso 1

Vinkki

Alikansioissa sijaitsevien dokumenttien käsittely pitää tehdä seuraavalla tavalla tai toinen vaihtoehto on kirjoittaa käsittelijään kaikki tiedostoviittaukset absoluuttisilla poluilla ja aina siirtyä käsiteltävän tiedoston kansioon.


// polku käsiteltävään tiedostoon
$file = $_SERVER["PATH_TRANSLATED"];
// oletuspolku
$sijainti = getcwd();
// suhteellinen polku käsiteltävään _kansioon_
$suhtpolku = ereg_replace($sijainti, "", $file);
$p = strripos($suhtpolku, "/");
$suhtpolku = substr($suhtpolku, 1, $p);
// .... 
// ...
// siirrytään kansioon ennen tiedoston käsittelyä
// koska muuten kaikki suhteelliset operaatiot
// toimivat väärin
chdir($suhtpolku);
include($file);
// palataan oletuspaikkaan
chdir($sijainti);
// oletuspaikkaan ei tarvi palata jos käsittelijän omat
// tiedosto-operaatiot tehdään absoluuttisilla poluilla
// vrt "pohja.xml" vs "/home3/368/tjlahton/public_html/php/handlers/pohja.xml"

Vinkki 2

Eikö sisältö kopioidu toisesta dokumentista (DOM-puusta) toiseen dokumenttiin (DOM-puuhun)? lue postituslistalle lähetetty selitys.

Vinkki 3

Eikö template toimi html-tiedostojen kanssa? Vika piilee xhtml-dokumenttien xml-deklaraatioissa joita php-tulkki kuvittelee php:ksi. Käytä siis readfile-funktiota html-tiedostoille include-funktion sijaan. toinen vaihtoehto on laittaa .htaccessiin rivi:

php_flag short_open_tag off

Taso 3

Taso 5

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/sovellukset/vt/vt10/
© Jukka Mäntylä (jmantyla@mit.jyu.fi) <http://www.iki.fi/jmantyla/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Antti Ekonoja (anjoekon@jyu.fi) <http://users.jyu.fi/~anjoekon/>
2007-03-26 09:32:40