Includerea modulelor în PHP

Activarea modulelor în PHP

Funcția include ()
Mai multe detalii despre funcțiile de includere a modulelor

• include () și necesită () - conectați și calculați fișierul specificat.

Aceste două construcții sunt identice în toate, cu excepția modului în care se ocupă de executarea eșuată.

include () produce Avertizare! și necesită () returnează Eroare fatală. Cu alte cuvinte, nu vă fie frică să utilizați solicitați (). dacă doriți ca fișierul lipsă să întrerupă procesarea paginii. include () nu funcționează astfel: scriptul va continua să funcționeze.

Când un fișier este conectat, codul conținut în acesta moștenește domeniul de aplicare al variabilei de șir de care provine conexiunea. Orice variabile disponibile pe această linie în fișierul de apel vor fi disponibile în fișierul chemat, înainte din acest punct.

Exemplul de bază include ().

Exemplele de bază necesită ().

Dacă se produce o conexiune într-o funcție din fișierul numit, atunci tot codul conținut în fișierul inclus va funcționa ca și cum ar fi definit intern. Deci, va urma domeniul de aplicare al variabilei.

Conectarea în interiorul funcțiilor:

Când fișierul este conectat, parsarea trece de la modul PHP la modul HTML la începutul fișierului țintă și continuă după terminare. Pe această bază, orice cod din interiorul fișierului de destinație, care trebuie executat ca un cod PHP, trebuie să fie inclus în etichetele inițiale și de sfârșit corecte ale PHP.

Exemplu include () prin HTTP

Deoarece include () și cer () sunt construcții de limbaj special, trebuie să le includeți într-un bloc de declarații, dacă se află în interiorul unui bloc condițional.

Exemplu include () și blocuri condiționale:

Prelucrarea returnează: puteți executa operatorul return () în fișierul atașat pentru a termina procesarea acestui fișier și a reveni la scriptul care la cauzat. De asemenea, puteți returna valorile din fișierele conectate. Puteți accepta valoarea apelului inclus ca de obicei.

Exemplele includ () și return ().

Bara $ este setată la 1. Deoarece conexiunea a avut succes. Fiți atenți la diferențele dintre exemple. Primul utilizează return () în interiorul fișierului conectat, în timp ce altele nu.

• include_once () și require_once () - activați și evaluați fișierul specificat în timp ce scriptul rulează. Acest comportament se aseamănă cu include () si require () declarații cu singura diferență fiind că în cazul în care codul dintr-un fișier a fost deja conectat, acesta nu va fi conectat din nou. include_once () și require_once () ar trebui să fie utilizat în cazurile în care același fișier poate fi conectat și evaluate mai mult decât o dată în timpul unei anumite executarea script-ul, și doriți să fie sigur că acesta este inclus exact o dată pentru a evita problemele cu re-definirea funcțiilor, re-alocarea variabilelor.

Exemplele includ_once () și require_once ().

• get_included_files - returnează matricea numelor tuturor fișierelor care sunt incluse folosind include (). include_once (). () sau require_once ().

• get_required_files - această funcție este un alias pentru get_included_files (). Fișierele incluse sau solicitate de mai multe ori sunt afișate o singură dată în matricea returnată.

Notă. fișiere incluse utilizând directiva de configurare auto_prepend_file. nu intrați în matricea returnată.

va genera pe ieșire:

• include_path string - Specifică lista directoarelor unde funcțiile require (). include () și fopen_with_path () caută fișiere. Formatul seamănă cu variabila de mediu a sistemului PATH: o listă de directoare separate printr-un colon în UNIX sau o punct și virgulă în Windows.

Exemplul UNIX include_path.

Exemplul Windows include_path.

Valoare. implicit :. (numai directorul curent).

Programare sigură
sau prevenirea includ injectarea PHP

Cea mai obișnuită eroare cu această funcție este codul:

în care modulul variabil $ este trecut ca parametru din arena apelului către script (de exemplu, index.php? module = main.php).

Eroarea de cod este că parametrul de intrare este acceptat și utilizat fără verificare. La conținutul variabilei $ modul, pur și simplu adăugați ".php" și conectați fișierul la calea rezultantă.

Potențial periculoase în acest sens sunt funcțiile:

• preg_replace () (cu modificatorul "e"),

Puteți face filtre pentru această variabilă, dar cele mai bune soluții la această problemă sunt următoarele opțiuni:

Construcția cu instrucțiunea comutatorului. de exemplu:

Opțiunea 2. Verificați dacă modulului $ i se atribuie una dintre valorile valide:

De asemenea, PHP oferă posibilitatea de a dezactiva utilizarea fișierelor la distanță, aceasta fiind implementată prin schimbarea valorii opțiunii allow_url_fopen la Oprit în fișierul de configurare php.ini.

Activați fișierele mari

Dar când atașați fișiere mari unui document, funcția încorporată poate să nu funcționeze în mod satisfăcător. Funcția standard nu verifică prezența fișierului pe care îl vom închide. Funcția propusă nu are astfel de dezavantaje. În partea de sus a paginii

Articole similare