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