escapeshellarg()的說明是這里
原來以為這個函數可以用來把一整條shell命令轉義像這樣:
$sh = 'mysql -uroot -proot -Dtest < /var/www/test.com/sql/user (1).sql'; shell_exec(escapeshellarg($sh));
一試就出錯了。。。。
仔細看了下文檔才知道應該用來轉義部分參數
shell_exec('mysql -uroot -proot -Dtest < ' . escapeshellarg('/var/www/test.com/sql/user (1).sql'));
問我以前為什么沒出錯?因為我以前是改寫人家的代碼,然后文檔沒看仔細猜着是那么個意思。。。
