move_uploaded_file()

1. 定义

该函数将通过HTTP POST上传的文件移动到新的位置。 成功时返回TRUE,失败则返回FALSE。

2. 语法

move_uploaded_file ( string $filename , string $destination ) : bool

3. 参数说明

参数 可选性 数据类型 描述
$filename 必需 字符串 已上传文件的文件名
$destination 必需 字符串 移动文件的新位置/路径

4. 示例

<?php

// move_uploaded_file()
// 将通过`HTTP POST`上传的文件移动到新的位置

// 假设有一个HTML表单通过POST方式提交上传了文件,并将其标识为 upload
// 在处理上传文件时

$file_name = $_FILES['upload']['name'];// 文件名
$file_type = $_FILES['upload']['type'];// 文件MIME类型:image/png
$file_error = $_FILES['upload']['error'];// 文件错误码:0表示上传成功
$file_size = $_FILES['upload']['size'];// 已上传文件大小:单位为 字节
$file_tmp = $_FILES['upload']['tmp_name'];// 存储在服务端的临时文件名

$upload_dir = __DIR__.'/upload';// 上传文件夹必须存在,否则将移动失败!
if(!file_exists($upload_dir)) {
    @mkdir($upload_dir, 0777);
}
// 移动上传文件至新目录(包括文件名)
$res = move_uploaded_file($file_tmp, $upload_dir.'/'.$file_name);
if($res) {
    echo '移动上传的文件成功!',"\n";
} else {
    echo '移动上传的文件失败!',"\n";
}

5. 延展阅读