• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP relatywne ścieżki do plików / prosty template strony

Object Storage Arubacloud
0 głosów
372 wizyt
pytanie zadane 22 lipca 2018 w PHP przez Wujek Greg Dyskutant (9,410 p.)
edycja 22 lipca 2018 przez Wujek Greg

Dzień dobry!

Sytuacja następująca:

Chcę stworzyć od zera prostą stronę na PHP (kilka podstron). Dlaczego PHP? Bo PHP ma includy bez których nie mogę żyć i kilka innych bajerków które chce mieć. Problem polega na tym że nigdy nie robiłem nic na PHP-ie i podczas tworzenia struktury napotkałem na mały problem na który nie znalazłem satysfakcjonującej mnie odpowiedzi.

Otóż, jak prawidłowo zdefiniować ścieżki do plików, załóżmy że mam taką strukturę folderów:

page/
├── index.php
├── config.php
├── dist/
│   ├── css/index.css
│   ├── img/obrazek.png
│   └──  index.js
│   
├── includes/
│   ├── _footer.php
│   └── _header.php


├── pricing/
│   └── index.php
│   
├── features/
│   └── index.php
│   
└── about/
    └── index.php

 

Chciałbym móc np. w about/index.php zrobic includa do pliku includes/_footer.php  w taki sposób:

<?php include PATH '/includes/_footer.php' ?> - gdzie PATH top nazwa jakies zmiennej definiującej ścieżkę do głównego katalogu. Znalazłem kilka podobnych rozwiązań ale nie mam pojęcia które jest prawidłowe i nie wiem jak mogę zdefiniować te zmienne w jakimś głównym pliku żeby nie musieć robić tego w każdym pliku.

Dodatkowo nie wiem jak zdefiniować ścieżki do plików z dista, gdy zrobiłem includa _footera w about/index.php to nie zaczytywało mi index.css Wnioskuję że też trzeba stworzyć odpowiednią scieżkę

 

Jeżeli ktoś ogarnia PHP to chętnie przyjmę pomoć. Przeszukałem już kilkanaście poradników w sieci i jak widzę że ktoś wklepuje całą ścieżkę do roota servera w includzie to robi mi się nie dobrze.

Jeżeli ktoś ma jakiś template strony który mniej więcej spełnia moje wymagania to będę wdzięczny, znalazłem coś takiego:

https://github.com/banago/simple-php-website 

ale oczywiście nie działą na moim serverze, nie wiem w czym problem

 

2 odpowiedzi

0 głosów
odpowiedź 22 lipca 2018 przez 1234 Dyskutant (9,140 p.)
W ścieżkach możesz używać "../" co oznacza folder wyżej dla tego przykładu który podałeś będzie to "../includes/_footer.php"
0 głosów
odpowiedź 22 lipca 2018 przez Mariusz08 Maniak (62,300 p.)

http://php.net/manual/en/language.constants.predefined.php ( a konkretnie __DIR__ )

I spróbuj zrobić coś takiego

require_once __DIR__ . ' filename.php';

Aby przejść katalog wyżej użyj ../

komentarz 22 lipca 2018 przez Wujek Greg Dyskutant (9,410 p.)

Dzięki!

Udało mi się znaleźć świetny skrypcik który idealnie wpasowuje się w moje wymagania co do zarządzania templatkami na stronie:

https://arshaw.com/phpti/

 

Niestety mam jeszcze jeden problem, otóż nie działają mi ścieżki do styli.

Mam stworzony jeden plik base.html w którym mam całą strukturę html i wstrzykuje do niego content. Problem polega na tym że na stornie głównej css jest zaczytywany, a juz np dla podstrony zamieszczonej w innym katalogu nie. 

Rozumiem że np dla strony głównej ściezka do styli to dist/css/index.css, a dla podstrony about ściezka będzie ../dist/css/index.css

Mogę zrobić zmienną która będzie mi nadpisywała ścieżkę w zalezności od zagnieżdzenia ale takie rozwiązanie mnie nie satysfakcjonuje. Jak mogę zdefiniowania ścieżkę która zawsze będzie odsyłać do danego pliku bez względu na zagnieżdzenie?

 

 

komentarz 22 lipca 2018 przez Mariusz08 Maniak (62,300 p.)

W tym konkretnym przypadku nie wiem jak to zrobić - nie znam tego phpti. Niemniej jednak jeśli już myślisz o tego typu narzędziach to polecam Twiga - system szablonów + assety.

Podobne pytania

+1 głos
0 odpowiedzi 209 wizyt
pytanie zadane 13 października 2020 w JavaScript przez Artek Stary wyjadacz (11,800 p.)
0 głosów
1 odpowiedź 416 wizyt
pytanie zadane 2 lutego 2019 w C i C++ przez Konrad Gałach Użytkownik (880 p.)
0 głosów
2 odpowiedzi 1,097 wizyt

92,579 zapytań

141,432 odpowiedzi

319,657 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...