繁体   English   中英

在系统函数中处理带空格的文件名

[英]Handle filename with spaces in system function

我有这个代码来检测文件charset。

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

结果将类似于:“perk.csv:text / plain; charset = us-ascii”

一切都很好,直到$ fromFile持有文件名,里面有空格。 然后它抱怨它无法读取文件。

我的第一个解决方案是用“\\”替换任何空格字符。 但也许有更好的方法来解决这个问题? 我觉得我可能会错过这里的一些东西。

使用escapeshellarg函数来转义文件名。

你的代码应该是:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM