SED无法使用PHP Shell_exec

时间:2015-08-10 15:43:20

标签: php bash sed

所以基本上我试图在html webinterface上使用用户输入来改变配置文件中的somne​​行。在这种特定情况下刷新率。这样做:

sed -i '4s/refreshrate.*$/refreshrate: NEWVALUE/g' config.txt

其中NEWVALUE是用户输入的数字。我称之为“字符串”。

 $string=$_POST["string"];
    $result=shell_exec(' sed -i '4s/refreshrate.*$/refreshrate:'.$string.'/g' config.txt');

Nevertherless sed根本不会工作,我只是得到内部服务器错误。完整的代码:

   <?php
$string=$_POST["string"];
$result=shell_exec(' sed -i '4s/refreshrate.*$/refreshrate:'.$string.'/g' config.txt');
if (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form
?>
<html>
<!DOCTYPE html>
<html>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
</head>
<body>

<div class="container">

<div class="jumbotron">
  <h1></h1> 

</div>

<div class="row">

<div class="col-md-4">
  <title>Config</title>
</head>

<body>
<form method="post" action="<?php echo $PHP_SELF;?>">
Edit Refresh Rate:<input type="text" size="12" maxlength="500" name="string"><br />
<input type="submit" value="submit" name="submit">
</form>
<?
} else {
echo " ".$result."<br />";

//echoerr " ".$result."<br />";
}

我认为它与

中的quoatation标记有关
  

'$字符串。'

但我绝对不是专家。 那么我在这里做错了什么?或者在PHP中有一个简单的替代sed吗?我更喜欢sed with shell_exec,因为我几乎不了解PHP。

0 个答案:

没有答案