我正在使用一个php表单,用户在输入框中输入文件名,然后表单应该使用$ path,$ name和$ ends来创建一个正确的路径来打开文件并抓住机会来自]没有[到]是[。
但我没有正确的格式,因为它不起作用。如果我将所有内容输入$ path,它确实有效,但它没有正确转换文本框文件名。
任何帮助都会得到极大的赞赏!
############### Code Below ###################
<?php
echo "<table border = 0><tr><td align=left valign=center>";
echo "Please paste the file name below:</br>";
echo "<form method='POST' action='3.php'>";
echo "<input type = 'text' name='$name'/>";
echo "<input type='submit' value='Submit'/>";
echo "</form>";
$path="/home/users/web/b1262/moo.mybidszcom/sandbox/";
$ending='.dat';
$file = ("$path$name$ending");
$file_contents = file_get_contents($file);
$fh = fopen($file, "w");
$file_contents = str_replace(']no[',']yes[',$file_contents);
fwrite($fh, $file_contents);
fclose($fh);
echo "</td><td></td></tr></table>";
?>
答案 0 :(得分:0)
检查$_POST['theValue']
是否设置,如果没有,则显示表单,否则执行代码。
if(!isset($_POST['theValue'])){
echo <<< EOF
<table border = 0>
<tr>
<td align=left valign=center>
Please paste the file name below:</br>
<form method='POST' action='3.php'>
<input type ='text' name='theValue'/>
<input type='submit' value='Submit'/>
</form>
</td>
<td></td>
</tr>
</table>";
EOF;
}else{
$name = $_POST['theValue'];
$path="/home/users/web/b1262/moo.mybidszcom/sandbox/";
$ending='.dat';
$file = "{$path}{$name}{$ending}";
$file_contents = file_get_contents($file);
$file_contents = str_replace(']no[',']yes[',$file_contents);
file_put_contents($file, $file_contents);
}
答案 1 :(得分:-1)
你应该像那样解决
null
您的文件名必须是3.php
您的代码无效,因为您向服务器发送帖子时。您的输入值将存储为$ _POST [&#39; your_input_name&#39;]。 $ _POST是您的表单方法,如果您将表单的方法更改为GET,则为$ _GET