2

假设用户在我的网站上使用 PHP 上传了一个文本文件。我只想获取这个文本文件的内容,然后处理它们,而不必在磁盘上的任何位置存储文件/执行 move_uploded_file() ,所以当我完成时我不必处理删除它它等等

有没有办法使用 tmp_name 或任何其他信息来获取文件的内容?

4

2 回答 2

4

您可以使用 $_FILES 超级全局数组检索与上传文件相关的信息。

$_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']);
         }
      }
  ?>
于 2013-01-15T05:29:49.100 回答
3

在这种情况下:

file_get_contents()可能就足够tmp_name了。$_POST['filename']['tmp_name']

假设您的文件的输入名称属性的值为“文件名”。

于 2013-01-15T04:29:07.410 回答