我有一张表格:
<form method="POST" action="">
<textarea id="input_text" name="input_text"></textarea>
<input type="submit" name="decrypt" value="sm">
</form>
现在我提交它,php尝试将$ _POST [&#39; input_text&#39;]写入文件然后再做一次操作,完成操作后,php将删除创建的文件。
<?php
$Path = dirname(__FILE__).'/temp/';
$File_NAME = time().'.txt';
$input_text = stripslashes($_POST['input_text']);
$fp=fopen($Path.$File_NAME,'w');
fwrite($fp,$input_text);
fclose($fp);
//do some curl action with the file, then delete the file
if(file_exists($Path.$File_NAME))
unlink($Path.$File_NAME);
但如果文字太强,用户提交表单,那么他们就会中止页面,因此文件不会被删除。 我想直接将$ _POST [&#39; input_text&#39;]更改为type =&#39; file&#39;,但用户也可以使用它,例如textarea。因此php不需要删除该文件,因为它是一个tmp文件。
答案 0 :(得分:1)
根据您对问题的编辑,可能的解决方案是在打开文件之前首先检查$_POST['input_text']
的长度。如果文本太长,请显示错误消息。
在这种情况下,我甚至不认为该文件是必需的。
OLD ANSWER :
获取$_POST['input_text]
,您可以:
$txt = $_POST['input_text'];
$file = fopen("file.txt", "w+"); //w+ indicates read + write
fwrite($file,$txt); //to ride the 'input_txt'
然后执行您想要的操作,如果需要,最后使用以下命令删除文件:
fclose($file);
delete("file.txt");
但请务必先授予PHP
页面读/写权限。