0

我正在使用外部 java 库发送 SMS。我过去发送的代码是这样的:

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

但是,此代码不允许 $message 包含任何换行符,因为它将立即执行命令。无论如何,我可以通过命令行传递带有换行符的字符串吗?

4

2 回答 2

1

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

$message = "hello\nworld";
$command = "echo ".escapeshellarg($message);
$apiOutput = shell_exec($command);
var_dump($apiOutput);
于 2013-03-08T08:41:06.987 回答
0

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

于 2013-03-09T03:59:43.880 回答