PHP-polkuja?

Teen ensimmäistä kertaa sivuja PHP:lla ja olen ihan alkeissa. Sivuissani on ennen ollut kehykset ja nyt vaan toteutan samaa diveillä niin, että PHP:n avulla ei tarvitse joka sivulle tehdä erikseen sitä navigointilaatikkoa... Joka sivun alkuun tulee siis tämä:



Ja loppuun tämä:



Noh, itse ongelma. Loppu.php ja alku.php ovat pääkansiossa, mutta osa sivuista on alikansioissa ja niiden kohdalla en saa sivuja toimimaan. Onko siis lainkaan mahdollista "linkittää" tiedostoja tällaisilla poluilla, esim:



Jos joku osaisi kertoa, olisin hyvin kiitollinen!
2585
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

Minulla aukeaa tällainen sivu, mutta olen sensuroinut osoitteen, ellette pahastu! ;)

Warning: main() [function.main]: open_basedir restriction in effect. File(../alku.php) is not within the allowed path(s): (.:/sessions/phpsessions/:/tmp/) in /palvelin/html/käyttäjätunnus/kansio/sivu.php on line 1

Warning: main(../alku.php) [function.main]: failed to open stream: Operation not permitted in /palvelin/html/käyttäjätunnus/kansio/sivu.php on line 1

Fatal error: main() [function.require]: Failed opening required '../alku.php' (include_path='.') in /palvelin/html/käyttäjätunnus/kansio/sivu.php on line 1

Äänestä
  • Laitas näin

    asetukset.php
    define('INC_DIR', '/palvelin/html/käyttäjätunnus/inc');

    tai
    define('INC_DIR', $_SERVER['DOCUMENT_ROOT'] . '/inc');

    sivu.php
    include (INC_DIR . '/alku.php');


    Mutta kannattaa miettiä joskos http://fi2.php.net/manual/en/function.set-include-path.php olisi sinulle käyttökelpoinen.


    asetukset.php
    $path = $_SERVER['DOCUMENT_ROOT'] . '/inc';
    set_include_path(get_include_path() . PATH_SEPARATOR . $path);

    sivu.php
    include ('alku.php');

    Tuolloin katsotaan ensiksi se hakemisto missä sivu.php on, jos siellä ei ole alku.php tiedostoa niin sitten /palvelin/html/käyttäjätunnus/inc hakemistosta.


    Mutta kun sinulla on tuommonen template juttu, niin ehkäpä parhain olisi laittaa .htaccess tiedostoon

    php_value auto_prepend_file '/palvelin/html/käyttäjätunnus/inc/alku.php'
    php_value auto_append_file '/palvelin/html/käyttäjätunnus/inc/loppu.php'


    tuolloin kaikkiin siinä ja sen alihakemistoissa oleviin php tiedostoihin lisätään automaattisesti alkuun alku.php ja loppuun loppu.php. Jolloin ei tartte joka sivulle turhaan tuota incledea kirjoittaa.


    /palvelin/html/käyttäjätunnus/ laitetaan vain index.php tiedosto, kuvat jne... ovat omissa hakemistoissa/kansioissa näin sivuston hallinta on helppoa. joten siksi inc hakemiston tuossa esimerkissä lisäsin, tosin jos nuo on pelkästään template juttuja niin silloin hakemiston nimi toiseksi.

    Äänestä

Kommentoi aloitusta


Alokasneiti kirjoitti:

Teen ensimmäistä kertaa sivuja PHP:lla ja olen ihan alkeissa. Sivuissani on ennen ollut kehykset ja nyt vaan toteutan samaa diveillä niin, että PHP:n avulla ei tarvitse joka sivulle tehdä erikseen sitä navigointilaatikkoa... Joka sivun alkuun tulee siis tämä:



Ja loppuun tämä:



Noh, itse ongelma. Loppu.php ja alku.php ovat pääkansiossa, mutta osa sivuista on alikansioissa ja niiden kohdalla en saa sivuja toimimaan. Onko siis lainkaan mahdollista "linkittää" tiedostoja tällaisilla poluilla, esim:



Jos joku osaisi kertoa, olisin hyvin kiitollinen!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu