欢迎访问宙启技术站
智能推送

PHP文件上传处理函数介绍及示例

发布时间:2023-11-26 09:24:17

PHP文件上传处理函数主要包括以下几个函数:

1. move_uploaded_file():

move_uploaded_file() 函数用于将上传的文件移动到新位置。它的语法是:move_uploaded_file($tmp_name, $destination)。其中$tmp_name 是服务器在接收到上传文件后,为临时存储位置生成的临时文件名称;$destination 是指要将文件移动到的新位置及新文件名。这个函数返回布尔值,表示文件移动是否成功。

示例代码:

if ($_FILES["file"]["error"] == UPLOAD_ERR_OK) {
    $tmp_name = $_FILES["file"]["tmp_name"];
    $destination = "uploads/" . $_FILES["file"]["name"];
    if (move_uploaded_file($tmp_name, $destination)) {
        echo "文件上传成功";
    } else {
        echo "文件上传失败";
    }
}

2. is_uploaded_file():

is_uploaded_file() 函数用于判断指定的文件是否是通过 HTTP POST 上传的。它的语法是:is_uploaded_file($filename)。其中$filename 是要检查的文件路径和名称。这个函数返回布尔值,表示文件是否是通过 HTTP POST 上传的。

示例代码:

$filename = $_FILES["file"]["tmp_name"];
if (is_uploaded_file($filename)) {
    echo "文件是通过 HTTP POST 上传的";
} else {
    echo "文件不是通过 HTTP POST 上传的";
}

3. $_FILES:

$_FILES 是一个全局变量,用于存储上传的文件信息。它是一个关联数组,包含以下键值对:

- $_FILES["file"]["name"]: 上传文件的原始名称。

- $_FILES["file"]["type"]: 上传文件的 MIME 类型。

- $_FILES["file"]["size"]: 上传文件的大小(字节)。

- $_FILES["file"]["tmp_name"]: 服务器上接收到的临时文件名称。

- $_FILES["file"]["error"]: 上传文件时发生的错误代码。

示例代码:

$filename = $_FILES["file"]["name"];
$filetype = $_FILES["file"]["type"];
$filesize = $_FILES["file"]["size"];
$tmp_name = $_FILES["file"]["tmp_name"];
$error = $_FILES["file"]["error"];

除了这些基本的文件上传处理函数,还可以使用其他一些函数来处理上传的文件,如:

4. move_uploaded_files():

move_uploaded_files() 可以一次性同时移动多个上传文件。它的语法是:move_uploaded_files($tmp_name, $destination)。其中$tmp_name 是上传文件时临时存储位置生成的临时文件名称数组;$destination 是要将文件移动到的新位置及新文件名数组。这个函数返回布尔值,表示文件移动是否成功。

示例代码:

if ($_FILES["file1"]["error"] == UPLOAD_ERR_OK && $_FILES["file2"]["error"] == UPLOAD_ERR_OK) {
    $tmp_name = array($_FILES["file1"]["tmp_name"], $_FILES["file2"]["tmp_name"]);
    $destination = array("uploads/" . $_FILES["file1"]["name"], "uploads/" . $_FILES["file2"]["name"]);
    if (move_uploaded_files($tmp_name, $destination)) {
        echo "文件上传成功";
    } else {
        echo "文件上传失败";
    }
}

5. rename():

rename() 函数可以用于给上传的文件重命名。它的语法是:rename($oldname, $newname)。其中$oldname 是上传文件的原始名称;$newname 是要给文件重命名的新名称。这个函数返回布尔值,表示文件重命名是否成功。

示例代码:

$oldname = $_FILES["file"]["tmp_name"];
$newname = "uploads/newname.jpg";
if (rename($oldname, $newname)) {
    echo "文件重命名成功";
} else {
    echo "文件重命名失败";
}

通过使用上述的文件上传处理函数,可以方便地实现PHP文件上传功能,并对上传的文件进行相应的处理。