如果我通过表单上传文本文件,是否可以直接从 $_FILES 变量输出其内容,而不是先将其保存到服务器上?我知道这是一个安全风险,但它只会在本地机器上运行。
原文由 Dan 发布,翻译遵循 CC BY-SA 4.0 许可协议
正在做
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
原文由 MANCHUCK 发布,翻译遵循 CC BY-SA 2.5 许可协议
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答4.9k 阅读
1 回答577 阅读✓ 已解决
该文件在上传的那一刻被保存到临时目录,但您可以使用
$_FILES['uploadedfile']['tmp_name']
来读取它,而无需保存在永久位置。