假设用户在我的网站上使用PHP上传文本文件。我想得到这个文本文件的内容,然后处理它们,而不必将文件/ do move_uploded_file()存储在磁盘上的任何地方,所以当我完成时我不必处理删除它它等等。
有没有办法使用tmp_name或任何其他信息获取文件的内容?
答案 0 :(得分:4)
您可以使用$ _FILES Super global array检索与上传文件相关的信息。
$ _ FILES ['input-field-name'] ['tmp_name']将在服务器上存储上传文件的临时副本名称
因此,您可以使用file_get_contents()函数检索上传文件的内容,方法是将$ _FILES ['input-field-name'] ['tmp_name']的值作为参数传递。
脚本执行终止后删除临时副本。
请参阅下面提到的示例代码段。
<?php if($_SERVER['REQUEST_METHOD']=='POST')
{
if(isset($_FILES['input-field-name']))
{
$file_content=file_get_contents($_FILES['input-field-name']['tmp_name']);
}
}
?>
答案 1 :(得分:3)
在这种情况下:
file_get_contents()
tmp_name
$_POST['filename']['tmp_name']
部分的{{1}}可能就足够了。
假设文件的输入名称属性值为'filename'。