Jucausii.Net - Just play it!
[TUTORIAL]Adauga folder in include_path phpBB 3 - Printable Version

+- Jucausii.Net - Just play it! (https://jucausii.net/forum)
+-- Forum: Zona IT & Web / IT & Web Area (https://jucausii.net/forum/forum-169.html)
+--- Forum: Resurse, stiinte si tehnologie / Resources , Science and Technology (https://jucausii.net/forum/forum-171.html)
+---- Forum: Platforme Web / Web platform (https://jucausii.net/forum/forum-173.html)
+----- Forum: PHPBB (https://jucausii.net/forum/forum-204.html)
+------ Forum: Tutoriale / Tutorials (https://jucausii.net/forum/forum-205.html)
+------ Thread: [TUTORIAL]Adauga folder in include_path phpBB 3 (/thread-2317.html)



[TUTORIAL]Adauga folder in include_path phpBB 3 - ra!z0r - 01-12-2015

Probabil ca multi dintre voi ati descarcat librarii php. Dupa ce ati descarcat o librarie, extrageti fisierele intr-un dosar, ex: /mylib/nume_librarie. Doriti sa includeti un fisier din acest folder in proiectul vostru.

In mod normal daca ai nevoie de un fisier din acest dosar vei scrie ceva de genul:





Code:
<?php

require '/mylib/nume_librarie/nume_fisier.php';
?>




Ei bine, dar pe serverul unde veti incarca siteul, libraria se afla intr-un alt folder, ex: /server/mylib/nume_librarie. In acest caz aplicatia va avea erori.

Solutie: Pentru a nu hardcode-a calea catre librarie, aveti posibilitatea de a adauga folderul librariei in php.ini :



Code:
include_path = '.:/usr/share/php:/usr/share/pear'




Modificati linia de mai sus in:



Code:
include_path = '.:/usr/share/php:/usr/share/pear:/mylib/nume_librarie'




Dupa ce ati salvat fisierul php.ini si ati repornit serverul HTTP, veti putea folosi in aplicatia voastra urmatorul cod:




Code:
<?php

include 'nume_fisier.php';

?>






Solutia 2:

Daca nu aveti acces la fisierul php.ini atunci puteti sa adaugati folderul la include_path la inceputul aplicatiei, ex:


Code:
<?php

$path = '/mylib/nume_librarie';
ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . $path);

include 'nume_fisier.php';


?>