无法使用php将textarea保存到文件中?

时间:2013-03-03 07:24:12

标签: php html textarea

我有问题将textarea保存到文件中。我使用POST方法将表单发送到另一页然后,在下一页我不能包含文件的textarea内容我不知道是什么问题。

有什么问题吗?

以下是两页: 第1页:

<!DOCTYPE HTML>
<html>
<head>
    <title>Save</title>
</head>

<body>
    <form action="page2.php" method="post">
    <span>name:</span>
    <input type="text" name="name"><br>
    <span>file extension: </span>
    <select name="ext" id="ext">            
        <option value=".txt">.txt</option>
        <option value=".doc">.doc</option>          
    </select>
    <textarea name="txt1" id="txt1" cols="15" rows="10"></textarea>
    <br>
          <input type="submit" name="submit"  id="submit" value="Save">
          </form>
          <br>
</body>

  </html>

-page2.php

$txt1 = $_POST['txt1']; //textarea
$name = $_POST['name'];
$ext = $_POST['ext'];  //choose from multiple extensions
if ($ext == '.txt')    // In case if I want to add more than extension.
{   
    $file = "'. $name$ext.'" ;
    $output = "$txt1";
    file_put_contents($file, $output);
    $text = file_get_contents($file);

    header("Content-Description: File Transfer");
    header("Content-Type: application/text/plain");
    header("Content-Disposition: attachment; filename=".basename($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
}

5 个答案:

答案 0 :(得分:0)

$file = "'. $name$ext.'";

应该是:

$file = $name.$ext;

至少我必须改变这一点才能让它在我的服务器上运行。

答案 1 :(得分:0)

没有看到你的HTML,我无法确定问题是什么。但是我的经验是,当你在服务器端访问POST变量时遇到麻烦,这可能是一个简单的拼写错误。确保表单中的名称属性与POST变量对齐。只是我的两分钱。

答案 2 :(得分:0)

我不知道你的代码是什么意思,所以,我只是重写它

要在服务器上保存文件,您需要这两行

$name = basename($_POST['name']).'.txt';
file_put_contents($name, $_POST['txt1']);

答案 3 :(得分:0)

您需要向表单添加id,然后将表单ID添加到textarea元素。例如:

<form action="page2.php" method="post" id="myform">
    <textarea name="txt1" id="txt1" cols="15" rows="10" form="myform"></textarea>

答案 4 :(得分:0)

尝试在textarea中使用wrap元素

<textarea name="txt1" id="txt1" cols="15" rows="10"></textarea>

添加换行

<textarea name="txt1" id="txt1" cols="15" rows="10" wrap="virtual"></textarea>

你也可以使用wrap:off,hard,soft和physical

在您的数据库中,确保正确定义了字段txt1(即键入文本)。