Voor een soort van filemanager, proberen we nu een functie te maken om directories te kunnen verwijderen van de harde schijf van de server. Hiervoor gebruiken we nu (o.a.) de volgende code:
safe_mode is uitgeschakeld en een map die we wilen verwijderen heeft de rechten: 777 (Als test).
Als we het complete commando "printen" op het beeldscherm, voert hij dus letterlijk uit:
rm -r '/oo_root/ArticSun/DitIsTest'
Dit wil niet werken met het commando "exec", wel met "exec_shell" en dan nog zelfs met de rechten 700, wat is nu precies het verschil?
shell_exec werkt via een shell, maar waarom zou exec niet gewoon werken?
Op php.net functieoverzicht, kan ik het verschil niet echt vinden (behalve dus dat ie via shell werkt).
Bedankt!
code:
1
2
| $cmd = "rm -r " . escapeshellarg($path); print "<br />Uitvoer: " . exec($cmd); |
safe_mode is uitgeschakeld en een map die we wilen verwijderen heeft de rechten: 777 (Als test).
Als we het complete commando "printen" op het beeldscherm, voert hij dus letterlijk uit:
rm -r '/oo_root/ArticSun/DitIsTest'
Dit wil niet werken met het commando "exec", wel met "exec_shell" en dan nog zelfs met de rechten 700, wat is nu precies het verschil?
shell_exec werkt via een shell, maar waarom zou exec niet gewoon werken?
Op php.net functieoverzicht, kan ik het verschil niet echt vinden (behalve dus dat ie via shell werkt).
Bedankt!