我有一个包含一个长字符串的变量。 (特别是它包含几千字节的JavaScript代码)如何在php中通过外部命令传递变量的内容?
我想通过这个字符串通过一个外部命令,在这种情况下JavaScript压缩器,并捕获外部命令的输出(压缩的JavaScript)在PHP中,将其分配给一个变量。
我知道有类压缩在PHP中的JavaScript,但这只是一个普遍问题的例子。
最初我们使用:
$newvar = passthru("echo $oldvar | compressor");
这适用于小弦,但不安全。 (如果oldvar包含对shell有特殊含义的字符,则任何事情都可能发生)
使用escapeshellarg进行转义由于操作系统对最大允许参数长度的限制,修复了该问题,但解决方案因为较长的字符串而中断。
我尝试使用popen("command" "w")
并写入命令 - 这是有效的,但命令的输出静静地消失在void中。
概念,我只想做等价的:
$newvar = external_command($oldvar);