Skocz do zawartości
Macieqqq

[php] Czy Include?

Rekomendowane odpowiedzi

Witam, mam pytanie... czy uzywanie funkcji inlclude jest optymalnym rozwiazaniem? Czy sa moze lepsze sposoby na zminimalizowanie powielania tych samych elementow strony? Jesli nie, to...

 

Czy mozna "zincludowac" naglowek (znaczniki meta, head, itp.) strony? Tzn czy nie bedzie to przeszkadzalo wyszukiwarka czy komukolwiek? :wink:

 

 

 

Z gory dziekuje za odpowiedz

Pozdrawiam

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

I tak, i nie.

Optymalnym jest w sensie działania, ale lepszym jest "require". Działanie identyczne, przy czym wywala błąd w przypadku nie znalezienia pliku.

 

Widzę, do czego zmierzasz. Generalnie są 2 sposoby na zrobienie tego:

 

1. Istnieje index.php który przez wywołanie z parametrem dołącza treść poszczególnych podstron:

» Naciśnij, żeby pokazać/ukryć tekst oznaczony jako spoiler... «

2. Sposób dokładnie odwrotny. Każda z podstron (rozszerzenia .php) dołącza sobie resztę strony.

» Naciśnij, żeby pokazać/ukryć tekst oznaczony jako spoiler... «

Wyszukiwarki skaczą po linkach "a href", więc oboma sposobami dostają identyczną zawartość strony - sam kod html.

Edytowane przez ULLISSES

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

I tak, i nie.

Optymalnym jest w sensie działania, ale lepszym jest "require". Działanie identyczne, przy czym wywala błąd w przypadku nie znalezienia pliku.

Include wywali warninga.

A to czy wywali warninga przy include czy fatal errora przy require to juz zalezy jak w php jest ustawione wyswietlanie błędów bo moze i zadnego nie wyswietlic.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Chyba jednak zostane przy include, gdyz moja znajomosc PHP nie jest wystarczjaca. No chyba, ze ktos moglby mi to jakos łopatologicznie wytlumaczyc :rolleyes:

 

EDIT: To jak Waszym zdaniem? Zostawac przy include?

Edytowane przez Macieqqq

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@SGJ:

Na dobrą sprawę można sobie ustawić zupełnie odwrotnie, ale nie o to chodzi. ;)

 

@Macieqqq:

Polecenia nie różnią się niczym prócz nazwy i tego, jaki wywalają błąd (przy domyślnych ustawieniach). To, czy napiszesz:

require('plik')
czy
inlcude('plik')
zależy już od Ciebie. Reszta kodu leci tak samo. Edytowane przez ULLISSES

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wyszukiwarki skaczą po linkach "a href", więc oboma sposobami dostają identyczną zawartość strony - sam kod html.

Oba sposobami, czyli za pomoca include jak i require mozna "zincludowac" naglowek strony, tak?

 

Jesli nie ma roznic, to zostane przy include...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

jest jeszcze jedna różnica miedzy tymi poleceniami, równie ważna o ile nie ważniejsza:

Require: kod pliku jest dodawany do bieżącego kodu przed wykonaniem przez parser PHP

Inlcude: plik jest dodawany podczas przetwarzania kody przez parser PHP

 

co za tym idzie nazwa pliku dla polecenia require jest zdefiniowana z gory a dla Inlcude nazwa może pochodzić ze zmiennej, w pewnych sytuacjach nie ma innej możliwości tylko użyć include

 

PS. jak chcesz dodawać treść na stronę z pliku PHP a treść ma być uprzednio przetwarzana to użyj AJAX-a

Edytowane przez Zawadaki

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

W przedstawionym przeze mnie przypadku używam require i nazwa pliku pochodzi ze zmiennej w wywołaniu strony. :]

 

Zapomniałem dodać, iż w powyższym przypadku wywołanie podstrony wygląda np. tak:

<a href="go-d01" class="rollover">Programy</a>
Natomiast do poprawnego działania, potrzebny jest wtedy plik .htaccess o takiej zawartości:

Options +FollowSymLinks +IncludesRewriteEngine OnRewriteRule ^go-([^/]+)$ index.php?page=_$1.htx [L]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

W przedstawionym przeze mnie przypadku używam require i nazwa pliku pochodzi ze zmiennej w wywołaniu

no tak moj bład

 

ale czy nie lepiej użyć czegoś takiego:

 

» Naciśnij, żeby pokazać/ukryć tekst oznaczony jako spoiler... «

<script type="text/javascript">var ObiektXMLHttp = false;if (window.XMLHttpRequest) {ObiektXMLHttp = new XMLHttpRequest();} else if (window.ActiveXObject) {ObiektXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");}function Wstaw(plik,element) {var element_div = document.getElementById(element);if (ObiektXMLHttp) {ObiektXMLHttp.open('GET', plik, true);ObiektXMLHttp.onreadystatechange = function() {if (ObiektXMLHttp.readyState == (1 || 0)) {element_div.innerHTML = 'Ładuje czekaj...';} else if (ObiektXMLHttp.readyState == (4 || 2) && ObiektXMLHttp.status == 200) {element_div.innerHTML = ObiektXMLHttp.responseText;}}ObiektXMLHttp.send(null);}}</script></head><body onload="Wstaw('plik_A.php','okno')"><a href="Wstaw('plik_B.php','okno')"></a> lub <a href="Wstaw('plik.php?cos=fgfg','okno')"></a><div id="okno"></div></body></html>
» Naciśnij, żeby pokazać/ukryć tekst oznaczony jako spoiler... «

 

zmiany w oknie nie przeładuja całej strony

Edytowane przez Zawadaki

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...