PHP从上传的文本文件中读取?

时间:2010-02-04 16:39:43

标签: php file upload

如果我通过表单上传文本文件,是否可以直接从$ _FILES变量输出其内容,而不是先将其保存到服务器上?我知道这是一个安全风险,但它只能在本地机器上运行。

任何建议表示赞赏。

感谢。

3 个答案:

答案 0 :(得分:68)

file_get_contents($_FILES['uploadedfile']['tmp_name']); 

是有效的,但您还应该检查以确保该文件是通过表单上传的,并且在上传期间没有发生错误:

if ($_FILES['uploadedfile']['error'] == UPLOAD_ERR_OK               //checks for errors
      && is_uploaded_file($_FILES['uploadedfile']['tmp_name'])) { //checks that file is uploaded
  echo file_get_contents($_FILES['uploadedfile']['tmp_name']); 
}

有用的链接是http://us2.php.net/manual/en/features.file-upload.php

答案 1 :(得分:49)

该文件在上传时保存到临时目录,但您可以使用$_FILES['uploadedfile']['tmp_name']进行阅读,而无需保存在永久位置。

答案 2 :(得分:5)

不幸的是,没有。至少不要通过$ _FILES变量。遗憾。

编辑:它总是保存为$ _FILES中的临时文件,您将始终必须使用该文件作为内容。