2013-02-22 44 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)); 
相关问题