假设用户在我的网站上使用 PHP 上传了一个文本文件。我只想获取这个文本文件的内容,然后处理它们,而不必在磁盘上的任何位置存储文件/执行 move_uploded_file() ,所以当我完成时我不必处理删除它它等等
有没有办法使用 tmp_name 或任何其他信息来获取文件的内容?
您可以使用 $_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']);
}
}
?>
在这种情况下:
file_get_contents()
可能就足够tmp_name
了。$_POST['filename']['tmp_name']
假设您的文件的输入名称属性的值为“文件名”。