在PHP中,$_FILES
是一个预定义的全局数组,用于存储有关上传文件的信息。要读取$_FILES
中的数据,您可以直接访问数组中的元素。以下是一个简单的示例,说明如何读取和处理上传的文件:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['uploaded_file'])) {
// 获取上传文件的临时路径
$temp_path = $_FILES['uploaded_file']['tmp_name'];
// 获取上传文件的名称
$file_name = $_FILES['uploaded_file']['name'];
// 获取上传文件的大小(字节)
$file_size = $_FILES['uploaded_file']['size'];
// 获取上传文件的类型
$file_type = $_FILES['uploaded_file']['type'];
// 获取上传文件的错误代码
$file_error = $_FILES['uploaded_file']['error'];
// 检查是否有错误
if ($file_error == UPLOAD_ERR_OK) {
// 生成一个唯一的文件名
$unique_file_name = uniqid() . '_' . basename($file_name);
// 设置上传文件的保存路径
$upload_path = 'uploads/' . $unique_file_name;
// 将上传的文件移动到指定的路径
if (move_uploaded_file($temp_path, $upload_path)) {
echo '文件上传成功!';
} else {
echo '文件上传失败!';
}
} else {
echo '文件上传错误:' . $file_error;
}
} else {
echo '没有选择上传文件。';
}
?>
在这个示例中,我们首先检查请求方法是否为POST,并检查$_FILES
数组中是否存在名为uploaded_file
的元素。然后,我们分别获取上传文件的临时路径、名称、大小、类型和错误代码。接下来,我们检查是否有错误,如果没有错误,我们生成一个唯一的文件名,设置上传文件的保存路径,并将上传的文件移动到指定的路径。最后,我们输出相应的结果。