PHP-polkuja?

Alokasneiti

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!

2

538

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Alokasneiti

      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

      • ny434

        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.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mistä puhuitte viimeksi kun näitte

      Kerro yksi aiheista
      Ikävä
      107
      7763
    2. 112
      6026
    3. Se on hyvästi

      Toivottavasti ei tavata.
      Ikävä
      83
      5177
    4. Olenko saanut sinut koukkuun?

      Hyvä. Rakastan sua.
      Ikävä
      139
      4546
    5. Alavuden sairaala

      Säästääkö Alavuden sairaala sähkössä. Kävin Sunnuntaina vast. otolla. Odotushuone ja käytävä jolla lääkäri otti vastaan
      Ähtäri
      11
      3220
    6. Sisäsiittosuus

      Tämän kevään ylioppilaista 90% oli sama sukunimi?
      Suomussalmi
      59
      2997
    7. Miksi sä valitsit

      Juuri minut sieltä?
      Ikävä
      58
      2938
    8. Törkeää toimintaa

      Todella törkeitä kaheleita niitä on Ylivieskassakin. https://www.ess.fi/uutissuomalainen/8570818
      Ylivieska
      10
      2454
    9. Kerro nyt rehellisesti fiilikset?

      Rehellinem fiilis
      Suhteet
      61
      2437
    10. Hei........

      Pelkkä sun näkeminen saa mut hymyilemään pitkin iltaa. Oot niin 🤩😘 Edellinen poistettiin.
      Ikävä
      56
      2066
    Aihe