在PHP中将字符串(包含换行符)传递给jar

时间:2013-03-08 08:35:53

标签: php shell sms

我正在使用外部java库发送短信。我之前发送的代码是这样的:

$command = "java -jar vigsyssmscom4.jar \"1\" \"$phoneNum\" \"$message\"";
$apiOutput = shell_exec($command . "\n");

但是,此代码不允许$ message包含任何换行符,因为它会立即执行命令。反正我是否可以通过命令行传递带换行符的字符串?

2 个答案:

答案 0 :(得分:1)

你想看一下escapeshellarg:http://php.net/manual/en/function.escapeshellarg.php

$message = "hello\nworld";
$command = "echo ".escapeshellarg($message);
$apiOutput = shell_exec($command);
var_dump($apiOutput);

答案 1 :(得分:0)

我修改了jar文件和相关类,将所有选中的字符替换为消息变量中的新行。这有助于避免在消息参数中传递换行符。