Php 从网站上的用户输入编写文本文件以填充变量
我正在尝试创建一个带有用户输入对话框的简单网站,以填充将在shell命令中使用的变量 我知道可能最简单的方法是使用HTML表单,然后调用php文件写入文件。我找到了一些类似的代码,但是如何使用输入填充变量呢?下面是一个例子 我希望最终结果如下所示 testapp-d-p-e MySQL\u dbname=$variable1-e MySQL\u dbuser=$variable2-e MySQL\u server=$variable3-e MySQL\u pass=$variable3 这是我已经找到的代码Php 从网站上的用户输入编写文本文件以填充变量,php,file,shell,Php,File,Shell,我正在尝试创建一个带有用户输入对话框的简单网站,以填充将在shell命令中使用的变量 我知道可能最简单的方法是使用HTML表单,然后调用php文件写入文件。我找到了一些类似的代码,但是如何使用输入填充变量呢?下面是一个例子 我希望最终结果如下所示 testapp-d-p-e MySQL\u dbname=$variable1-e MySQL\u dbuser=$variable2-e MySQL\u server=$variable3-e MySQL\u pass=$variable3 这是我已
<form action="myprocessingscript.php" method="POST">
<input name="field1" type="text" />
<input name="field2" type="text" />
<input type="submit" name="submit" value="Save Data">
</form>
<?php
if(isset($_POST['field1']) && isset($_POST['field2'])) {
$data = $_POST['field1'] . '-' . $_POST['field2'] . "\n";
$ret = file_put_contents('/tmp/mydata.txt', $data, FILE_APPEND | LOCK_EX);
if($ret === false) {
die('There was an error writing this file');
}
else {
echo "$ret bytes written to file";
}
}
else {
die('no post data to process');
}
虽然每个变量打印到一个新行,但通过使用串联,我能够得到我想要的输出。有没有办法让它在同一条线上输出
<?php
if(isset($_POST['field1']) && isset($_POST['field2']) && isset($_POST['field3']) && isset($_POST['field4']) && isset($_POST['field5'])) {
$containername = $_POST['field1'] . "\n";
$WPhost = $_POST['field2'] . "\n";
$WPuser = $_POST['field3'] . "\n";
$WPpass = $_POST['field4'] . "\n";
$WPname = $_POST['field5'] . "\n";
$WPapp = 'testapp run -d --name';
$WPdbhost = '-e WORDPRESS_DB_HOST=';
$WPdbuser = '-e WORDPRESS_DB_USER=';
$WPdbpass = 'WORDPRESS_DB_PASSWORD=';
$WPdbname = '-e WORDPRESS_DB_NAME=';
$ret = file_put_contents('/tmp/mydata.txt', $WPapp . ' ' . $WPhost . $WPdbhost . $WPuser . $WPdbuser . $WPpass . $WPdbname . $WPname, FILE_APPEND | LOCK_EX);
if($ret === false) {
die('There was an error writing this file');
}
else {
echo "$ret bytes written to file";
}
}
else {
die('no post data to process');
}
它有什么问题吗?请不要让我测试它,并将其称为黑色。它确实会写入文件,但我无法确定如何将它们填充到shell命令中的变量中。好吧。。。那是完全不同的动物和球赛。你应该在你的问题中立即包含这一点信息,并为其添加/使用适当的标签。我的道歉,第一次海报。正确的标签是什么?只需从每个标签中删除“\n”。