Viikkotehtävä 5 ja jatkoa sessioille

Luennolla käydään läpi edellisviikon viikkotehtävä ja hieman lisäasiaa sessioista

Luentotaltiointi

Ongelmia videon katselussa?

viikkotehtävien malliratkaisut

auto_prepend_file ja auto_append_file


php_value auto_prepend_file alku.php
php_value auto_append_file loppu.php

Edelleenohjaus


header("Location: http://www.foo.example/");

Annetun osoitteen pitää olla absoluuttinen

Sessiotunniste ei automaattisesti kulje edelleenohjauksen mukana muuten kuin evästeiden avulla

Mediatyyppi

PHP:lla voidaan tuottaa mitä tahansa mediatyyppiä kuten esim. tekstiä:

header('Content-type: text/plain');

Hyvä mediatyyppi sivustoa testatessa on application/xhtml+xml. Firefox ja Opera antavat tällä mediatyypillä heti virheilmoituksen jos sivun xhtml-koodi ei ole hyvin muodostettua.

header('Content-type: application/xhtml+xml');

Mediatyypin voi myös valita sen mukaan mitä selain osaa:

  if ( stristr( $_SERVER['HTTP_ACCEPT'], "application/xhtml+xml") ) {

   header('Content-type: application/xhtml+xml');
  }

PHP:lla voi palauttaa/tuottaa esim. kuvia:

header('Content-type: image/png');

   $data = '';
   $fr   = fopen('ball1.png', 'r');
   while ( !feof($fr) ) {
           $data .= fread($fr, 1024);
   }
   fclose($fr);
   print $data;

Kielivalinta

PHP:n yhteydessä voi toteuttaa apachen normaalia automaattista kielenvalintaa tai ohjelmoida saman itse parsimalla selaimen palauttama lista halutuista kielistä.

Kuvat

PHP:lla voi tuottaa myös vaikkapa kaavioita


header("Content-type: image/png");

$width = 350;
$height = 360;

$im = ImageCreateTrueColor($width, $height);

$red = ImageColorAllocate($im, 255, 0, 0);
ImageFillToBorder($im, 0, 0, $red, $red);

ImagePNG($im);

ImageDestroy($im);

Basic Shapes in PHP GD

Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/sovellukset/luennot/luento12/
© Tommi Lahtonen (tommi.j.lahtonen@jyu.fi)< http://hazor.iki.fi/>
2006-03-31 16:06:47