我正在尝试从 HTML 文本表单中获取用户的输入
<input type="text" name="comments" value="Comment">
有没有办法在用户点击表单的提交按钮时将输入的文本作为 txt 文件提交,就像我有一个
type='file'
表格类型?
(我可以在这个项目中使用原生的html、js或php)
最佳答案
首先,创建一个名为temp
的目录,然后将.htaccess
文件放入其中,其中包含:deny from all
。
然后用代码制作一个php脚本:
<?php
if (!empty($_POST)) {
file_put_contents('temp/file.txt', $_POST['comments']);
}
不要忘记临时文件夹的写权限!
但是!永远不要保存带有 .php
扩展名的文件,因为一些真正的黑客可以在 textarea 中编写 php 代码然后保存并执行它(如果你不创建 .htaccess
使用拒绝所有
)。此外,您可以使用 chmod 拒绝执行 temp/
目录中的所有文件(仅适用于 linux,适用于 windows .htaccess
将帮助您)。您也可以将 temp/
目录放在服务器的 www/
(webroot) 目录下(www/
目录的路径是像这样:/site.com/www/
,只需创建一个路径为:/site.com/temp/
)的目录,那么就没有人可以执行创建的文件。将文件写入此文件夹将是这样的:
file_put_contents('../temp/file.txt', $_POST['comments']);
关于javascript - 您可以使用 HTML 将文本输入作为文件上传吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24541420/