exec()
is for calling a system command, and perhaps dealing with the output yourself.system()
is for executing a system command and immediately displaying the output – presumably text.passthru()
is for executing a system command which you wish the raw return from – presumably something binary.