Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Include i require
Forum PHP.pl > Forum > Przedszkole
Durian
Witam mam takie pytanie czy Include i require czymś się różniąquestionmark.gif (oprócz obsługi błędów??)

czy jak dam np.
  1. <?php
  2. if(COS){include "cos.php";}
  3. elseif(COS2){include "cos2.php";}
  4. ?>

a
  1. <?php
  2. if(COS){require "cos.php";}
  3. elseif(COS2){require "cos2.php";}
  4. ?>


bedzię różnica? bo wiem że require zawsze wczytuje plik niezależnie od tego czy warunek będzie spełniony czy nie ale czy tak samo postępuje include??
drPayton
Cytat
require zawsze wczytuje plik niezależnie od tego czy warunek będzie spełniony

Że co proszę? Co Ty za herezje głosisz? blinksmiley.gif
Jedyną różnicą jest poziom generowanego błędu: [warning] dla include i [fatal error] dla require
Durian
ups zapomnialem zobaczyc jak wyglada [ manual] tongue.gif
ale to co dalem to pisze w manualu i teraz pytanie jesli dam
  1. <?php
  2. if(COS){include"cos.php";}
  3. ?>

to czy ten plik cos.php zostanie dodany?? jesli warunek nie zostanie spelniony?
drPayton
Przyznam szczerze, że nie do końca rozumiem ten tekst (być może chodzi o wczytanie do pamięci), natomiast jest w manualu również fragment:
  1. <?php
  2. // Ten kod jest NIEPOPRAWNY i nie zadziała zgodnie z oczekiwaniami.
  3. if ($warunek)
  4. include $plik;
  5. else
  6. include $inny;
  7.  
  8.  
  9. // Natomiast ten kod jest POPRAWNY.
  10. if ($warunek) {
  11. include $plik;
  12. } else {
  13. include $inny;
  14. }
  15. ?>

Prawdziwości którego to fragmentu za chiny boskie nie udało mi się potwierdzić...

edit: Nawet jeśli to co tam napisali jest prawdą (tam zdarzają się błędy winksmiley.jpg ), to i tak chodziłoby jedynie o wczytanie pliku do pamięci a nie o jego wykonanie. Innymi słowy - poza zabraniem serwerowi ciut pamięci nie zauważyłbyś, że ten plik został wczytany.
Niezależnie od tego można więc powiedzieć - NIE, nie zostanie dodany
Kreton
Te funkcje znacznie obciążają system dlatego ich wyniki zapisywane są w pamięci podręcznej. W celu wielokrotengo wywołania tych funkcji odwołujących się do tego samego pliku musisz zastosować
Kod
clearstatcache()
bfcior
"Przy wykorzystaniu funkcji require(), plik zostanie zawsze wstawiony, nawet pomimo tego, że zostanie ona opatrzona jakimś warunkiem, a warunek ten, nie zostanie spełniony. Wobec tego, wstawianie require() w warunek if jest niepotzrebne, gdyż require zawsze, mimo FALSE (fałsz) się wykona. Odwrotnie jest w przypadku include(). Jeśli funkcja if zwróci FALSE , wówczas include() nie dołączy pliku do strony."
Kreton
Po co odkopałeś takiego suchara ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.