Jaka jest różnica między escapeshellarg a escapeshellcmd?

PHP ma 2 ściśle powiązane funkcje,escapeshellarg() iescapeshellcmd(). Oboje wydają się robić podobne rzeczy, a mianowicie pomagają uczynić sznurek bezpieczniejszym w użyciusystem()/exec()/itp.

Którego powinienem użyć? Chcę tylko mieć możliwość wprowadzania danych przez użytkownika i uruchamiać na nim polecenie, a nie wszystko wysadzać. Jeśli PHP miałoby funkcję exec-type, która wzięła tablicę ciągów (jak argv), która omija powłokę, użyłbym tego. Podobny do Pythonasubprocess.call() funkcjonować.

questionAnswers(4)

yourAnswerToTheQuestion