Funktiot ja ulkoiseen
tiedostoon kirjoittaminen
PHP-kieli on laaja ja joskus koodia tarvitaan runsaasti.
Suuremmat ohjelmakokonaisuudet on siksi hyvä järjestää osiin
ja yksi tapa on käyttää funktioita. Funktiot ovat
ohjelmalohkoja, joita voidaan käyttää käskystä tarvittaessa.
Funktioissa voidaan käyttää valmiita kirjastofunktioita tai
luoda omia itse määriteltyjä funktioita.
Funktion määrittely alkaa function-käskyllä. Sen jälkeen
voidaan antaa funktiolle nimi ja antaa sille alkuarvot
sulkuihin. Jos alkuarvoja ei haluta antaa, voidaan sulut
jättää tyhjäksi. Määrityksen jälkeen funktiolle annetaan
käsketty toiminta aaltusulkeiden sisään.
function funktion_nimi(parametrit) {
funktiolle annettava toiminta
}
Jos haluamme funktion palauttavan jonkin arvon, voidaan se
tehdä komennolla return. Jos halutaan funktion vain toimivan
komentosarjana, return-komentoa ei kirjoiteta. Funktion
parametrien arvot voidaan antaa vasta funktiokutsun
yhteydessä. Arvot kirjoitetaan sulkeiden sisään pilkulla
erotettuina. Funktio käynnistetään kirjoittamalla funktion
nimi, sulkeet ja tarvittaessa niiden sisään parametrien arvot.

» harjoitus19.php malli

» harjoitus20.php malli
Tekstitiedostoon kirjoittaminen
Joskus PHP-koodia ja ohjelmia koodatessa tulee tarpeen
tallentaa tietoja seuraavaan kertaan ja muiden kävijöiden
käyttöön. Monesti käytetään tietokantoja tietojen
tallentamiseksi. Pienimuotoisessa tietojen tallentamisessa on
kuitenkin turhaa monimutkaisten tietokantojen käyttö. Tiedot
voidaan tallentaa tekstitiedostoon ja niitä voidaan muokata
siellä. Tällainen tietojen tallentaminen käy hienosti
esimerkiksi pienimuotoisten sisältöjen muokkaaminen, vaikkapa
itse teksteissä tai vieraskirjassa.
Jotta käytössä olisi tallennustila on sinun luotava
ensimmäiseksi tyhjä tekstitiedosto. Tässä esimerkissä käytämme
siinä nimeä viesti.txt ja se tallennetaan samaan
kansioon palvelimella kuin tämä harjoitus. Jossain
palvelimissa tämän tiedoston oikeuksia on muokattava jos aikoo
tehdä siihen muutoksia. Varmista tämä jos harjoitus ei toimi.
Tekstitiedosto avataan muokattavaksi fopen()-koodilla.
Sulkeiden sisään tulee avattavan tiedoston nimi ja parametri,
mihin kohtaan tiedostossa kirjoitetaan. w-kirjaimella teksti
vaihtuu kokonaan ja a-kirjaimella viestit tulee perään kuten
vieraskirjassa. Lomakkeen tiedot kaapataan POST-käskyllä ja
niistä tehdään muuttuja. str-replace-käsky muuntaa lomakkeen
rivinvaihdot tulostettavaan muotoon. fwrite kirjoittaa
tekstitiedostoon parametreillä annettujen sääntöjen mukaan ja
fclose sulkee tiedoston lopuksi. Include-koodilla
tekstitiedoston teksti saadaan tulostettua sivulle.
Jotta voidaan käyttää lainausmerkkejä pitää ylimääräiset
kenoviivat poistaa. Koodi luo automaattisesti kenoviivat
lainausmerkkien ja kenoviivojen eteen, jottei niitä lueta
koodina.
$viesti = stripslashes($viesti);
Jos halutaan estää html-tagien käyttö, kirjoitetaan
$viesti = htmlspecialchars($viesti);

» harjoitus21.php malli |