【问题标题】:How to pass string variable to php function?如何将字符串变量传递给php函数?
【发布时间】:2013-07-08 18:41:07
【问题描述】:

我正在使用 exec() 来执行文件。我需要传递的参数之一是字符串。

shell_exec('/home/technoworld/Videos/LinSocket/client "Hi hello"');这很好用!

但是当我将字符串放入 var 时,即 $s="Hi hello" 和

'shell_exec('/home/technoworld/Videos/LinSocket/client . "$s"')`. It does not works. If

'shell_exec('/home/technoworld/Videos/LinSocket/client . $s')' goes in infinite wait!

知道如何将 $s 传递给函数吗?

【问题讨论】:

  • 基本 php 语法规则:'-quoted 字符串解释变量。您正在将文字 $s 传递给 shell。

标签: php exec argument-passing


【解决方案1】:
shell_exec('/home/technoworld/Videos/LinSocket/client "'.$s.'"');

或者使用双引号解析变量

shell_exec("/home/technoworld/Videos/LinSocket/client '$s'");

shell_exec("/home/technoworld/Videos/LinSocket/client \"$s\"");

【讨论】:

  • 我认为$s 也需要在转义的双引号之间,判断工作命令。两者的计算结果均为shell_exec('/home/technoworld/Videos/LinSocket/client Hi Hello');
【解决方案2】:

最好的办法是使用escapeshellarg 命令

shell_exec('/home/technoworld/Videos/LinSocket/client '.escapeshellarg($s));

【讨论】:

    猜你喜欢
    • 2016-01-17
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多