PHP txt下载不会写入文本区内容

PHP txt下载不会写入文本区内容,php,textarea,Php,Textarea,我有这样一个表单,您可以在文本区域中输入文本,然后在提交时php生成一个文本文件,该文件应该包含在文本区域中输入的文本。 但问题在于我写的代码,文本文件确实下载了,但里面没有文本。 因此,我将文本区域更改为一个输入字段,类型为text,它返回文本文件中的数据,但没有换行符。这是我的密码 <html><body> <form action="download.php" method="post"> <textarea id="output" nam

我有这样一个表单,您可以在文本区域中输入文本,然后在提交时php生成一个文本文件,该文件应该包含在文本区域中输入的文本。 但问题在于我写的代码,文本文件确实下载了,但里面没有文本。 因此,我将文本区域更改为一个输入字段,类型为text,它返回文本文件中的数据,但没有换行符。这是我的密码

<html><body>    
<form action="download.php" method="post">
<textarea id="output" name="output"></textarea>
<input type="hidden" name="op" type="hidden" id="fakeop" >
<input type="submit">
</body></html>

php文件的内容如下:

<?php
$filename = 'random.txt';
$somecontent = $_REQUEST["output"];
!$handle = fopen($filename, 'w+');
fwrite($handle, $somecontent);
fclose($handle);

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Length: ". filesize("$filename").";");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Type: application/octet-stream; "); 
header("Content-Transfer-Encoding: binary");

readfile($filename);

?>

如果我更改为$somecontent=$_REQUEST[“op”];
它确实返回包含内容的文本文件。但是为什么不在它输出的时候呢?

您好,请用下面的代码测试php页面

<?php
$filename = 'random.txt';
$somecontent = $_POST["output"];
!$handle = fopen($filename, 'w+');
fwrite($handle, $somecontent);
fclose($handle);

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Length: ". filesize("$filename").";");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Type: application/octet-stream; "); 
header("Content-Transfer-Encoding: binary");

readfile($filename);

echo$somecontent=$\u请求[“输出”];检查您是否收到文本。是否在代码中的任何位置关闭表单标记?还可以尝试将enctype=“multipart/form data”添加到method=“post”之后的表单标记中。为什么不使用
$\u post
?@Fred此处不需要使用
enctype=“multipart/form data”
,这时您需要上载一些文件