PHP获取带有输入文本的文件

时间:2013-06-15 16:56:15

标签: php file-get-contents

我有一个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>

我想从文本表单中获取自定义文件,只需输入文件名,但我的代码无效。谢谢!

3 个答案:

答案 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>