我有一个php页面:
<?php
$stats = file_get_contents('http://localhost/test/stats/$name.txt');
$name = $_POST['stat'];
echo "$stats";
echo "$name";
?>
<form action="index.php" method="POST">
<input type="text" name="stat" />
<input type="submit" value="Upload" />
</form>
我想从文本表单中获取自定义文件,只需输入文件名,但我的代码无效。谢谢!
答案 0 :(得分:1)
<?php
if(isset($_POST['stat'])) {
$name = $_POST['stat'];
// note the double quote here
$stats = file_get_contents("http://localhost/test/stats/$name.txt");
echo "$stats";
echo "$name";
}
?>
<form action="index.php" method="POST">
<input type="text" name="stat" />
<input type="submit" value="Upload" />
</form>
不要忘记保护您的文件(不包括“../”)
答案 1 :(得分:0)
是的,此代码无效。请尝试以下代码:
<?php
$name = $_POST['stat'];
$stats = file_get_contents("http://localhost/test/stats/$name.txt");
&GT;
你犯了两个错误。
首先,您需要在需要文件名的代码后面输入文件名。
第二:php当你将一个php变量名放在单引号“''”中时,就像在你的情况下一样,它按原样渲染,并且它的值不会被渲染。但是如果将php变量放在双引号中,则会呈现/显示其值。
立即尝试,如果您还有任何疑问,请与我们联系。
谢谢
答案 2 :(得分:0)
<?php
// switch the order around
$name = $_POST['stat'];
// and remove the variable from a single quoted string.
$stats = file_get_contents('http://localhost/test/stats/'.$name.txt);
echo "$stats";
echo "$name";
?>
<form action="index.php" method="POST">
<input type="text" name="stat" />
<input type="submit" value="Upload" />
</form>