文本输入到文件上传

时间:2015-01-06 13:23:00

标签: php file-upload

我有一张表格:

<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文件。

1 个答案:

答案 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页面读/写权限。