Este posibil ca cineva sau jobul sa va ceara o intersectie intre partea web si sitemul de operare, de exemplu sa listati un director din linia de comanda si nu din script php, pentru asta php pune la dipozitie cateva functii si un operator. Ca sa nu mai lungesc vorba si sa trec la exmplu mai jos o sa prezint aceste functii:
1.Functia exec() , prototipul acesteia este
Functia nu furnizeaza o iesire directa, ci stocheaza intr-un array liniile primite la executarea comenzii.
<?php ?>
Iar rezultatul poate fi asemnator cu
array ( 0 => ' Volume in drive C has no label.', 1 => ' Volume Serial Number is 78C0-1039', 2 => '', 3 => ' Directory of C:\\xampp\\htdocs\\tutoriale', 4 => '', 5 => '04/08/2012 08:27 PM.', 6 => '04/08/2012 08:27 PM..', 7 => '04/08/2012 08:27 PM 257 index.php', 8 => '04/05/2012 09:02 PM nbproject', 9 => ' 1 File(s) 257 bytes', 10 => ' 3 Dir(s) 18,511,237,120 bytes free', )
2.Functia passthru() , prototipul acesteia este
Spre deosebire de functia exec aceasta functie furnizeaza o iesire directa in browser, nu este recomandat sa o folositi daca iesirea va fi in format binar deoarece nu va afisa nimic:
<?php ?>
3.Functia system() este identica cu functia system din C si are urmatorul prototip
Functia system se aseamana cu functia passthru prin faptul ca furnizeaza iesirea directa in browse, dar goleste iesirea dupa fiecare linie, retureaza ultima linie a iesiri in caz de succes iar false in caz contrar.
<?php ?>
4. Operatorul backticks ( accent grav, e pe aceeasi tasta cu tilda ~)
Nu furnizeaza o iesire directa in browser, ci returneaza un sir cu rezultatul comenzi.
<?php //setam variabila care va prelua ls $comanda=`ls`; //afisam tipul variabilei, sa ne convingem ca e string //afisam pe linie noua echo '<br>'; //afisam rezultatul comenzii echo $comanda; ?>
Rezultatul afisat in browser va fi :
string config.php config.php~ index.php nbproject