我有一個包含一個長字符串的變量。 (特別是它包含幾千字節的JavaScript代碼)如何在php中通過外部命令傳遞變量的內容?
我想通過這個字符串通過一個外部命令,在這種情況下JavaScript壓縮器,並捕獲外部命令的輸出(壓縮的JavaScript)在PHP中,將其分配給一個變量。
我知道有類壓縮在PHP中的JavaScript,但這只是一個普遍問題的例子。
最初我們使用:
$newvar = passthru("echo $oldvar | compressor");
這適用於小弦,但不安全。 (如果oldvar包含對shell有特殊含義的字符,則任何事情都可能發生)
使用escapeshellarg進行轉義由於操作系統對最大允許參數長度的限制,修復了該問題,但解決方案因爲較長的字符串而中斷。
我嘗試使用popen("command" "w")
並寫入命令 - 這是有效的,但命令的輸出靜靜地消失在void中。
概念,我只想做等價的:
$newvar = external_command($oldvar);