【发布时间】:2011-01-13 04:04:01
【问题描述】:
如果我通过表单上传文本文件,是否可以直接从 $_FILES 变量输出其内容,而不是先将其保存到服务器上?我知道这是一个安全风险,但它只会在本地机器上运行。
任何建议表示赞赏。
谢谢。
【问题讨论】:
如果我通过表单上传文本文件,是否可以直接从 $_FILES 变量输出其内容,而不是先将其保存到服务器上?我知道这是一个安全风险,但它只会在本地机器上运行。
任何建议表示赞赏。
谢谢。
【问题讨论】:
在做
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
【讨论】:
文件在上传的那一刻保存到临时目录,但您可以使用$_FILES['uploadedfile']['tmp_name'] 读取它,而无需保存在永久位置。
【讨论】:
很遗憾,没有。至少不是通过 $_FILES 变量。对不起。
编辑:它始终保存为 $_FILES 中的临时文件,您必须始终使用该文件作为内容。
【讨论】: