2013-02-22 43 views
0

我有這段代碼來檢測文件字符集。在系統函數中使用空格處理文件名

$result = exec('file -i ' . $fromFile); 

其結果將是這樣的: 「perk.csv:text/plain的;字符集= US-ASCII」

一切都很好,直到$ FROMFILE持有其上有空格的文件名。然後它抱怨它無法讀取文件。

我的第一個解決方案是用「\」替換任何空格字符。但也許有更好的方法來解決這個問題?我覺得我可能會在這裏錯過一些東西。

+1

試過['escapeshellarg'(http://www.php.net/manual/en/function.escapeshellarg.php)? – Passerby 2013-02-22 04:01:14

回答

2

使用escapeshellarg函數來轉義文件名。

你的代碼應該是:

$result = exec('file -i ' . escapeshellarg($fromFile)); 
相關問題