如果我通过表单上传文本文件,是否可以直接从$ _FILES变量输出其内容,而不是先将其保存到服务器上?我知道这是一个安全风险,但它只能在本地机器上运行。
任何建议表示赞赏。
感谢。
答案 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']);
}
答案 1 :(得分:49)
该文件在上传时保存到临时目录,但您可以使用$_FILES['uploadedfile']['tmp_name']
进行阅读,而无需保存在永久位置。
答案 2 :(得分:5)
不幸的是,没有。至少不要通过$ _FILES变量。遗憾。
编辑:它总是保存为$ _FILES中的临时文件,您将始终必须使用该文件作为内容。