escapeshellarg()只是用來轉義shell命令的部分參數


escapeshellarg()的說明是這里

原來以為這個函數可以用來把一整條shell命令轉義像這樣:

$sh = 'mysql -uroot -proot -Dtest < /var/www/test.com/sql/user (1).sql';
shell_exec(escapeshellarg($sh));

 

一試就出錯了。。。。

QQ截圖20160322215218

仔細看了下文檔才知道應該用來轉義部分參數

shell_exec('mysql -uroot -proot -Dtest < ' . escapeshellarg('/var/www/test.com/sql/user (1).sql'));

問我以前為什么沒出錯?因為我以前是改寫人家的代碼,然后文檔沒看仔細猜着是那么個意思。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM