命令行文件路径中不支持的字符

时间:2010-11-09 10:37:04

标签: java php command-line-interface

我想从PHP调用java app:

exec('LC_ALL=en_US.utf-8 java -jar /test.jar' . $filepath . ');

但文件路径中始终存在不受支持的字符。

例如:#& ; ? * [SPACE] ...,将其更改为#\& ......没关系。

但是找不到这些字符的完整列表。

有什么想法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

查看escapeshellarg()escapeshellcmd()

他们将为您照顾所有必要的卫生设施。

如果$filepath来自外部(例如来自用户输入),则运行escapeshellarg() 强制以防止注入。

答案 1 :(得分:0)

我的问题已解决。

有用的网址: http://bugs.php.net/bug.php?id=44945