【发布时间】:2013-03-03 07:24:12
【问题描述】:
我在将文本区域保存到文件时遇到问题。我使用 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;
}
【问题讨论】:
-
请提供您的 html 部分 (
-
print_r($_POST)在您看来正确吗? -
这对逻辑实际上并不重要,但您正在读取文件两次,一次使用
file_get_contents(),一次使用readfile()。 -
我添加了html表单希望现在清楚了。