move_uploaded_file 将上传的文件移动到新位置

发表日期:2021-07-01 08:55:44 | 来源: | | 浏览(811) 分类:文件系统函数

move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

move_uploaded_file将上传的文件移动到新位置

说明

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

本函数检查并确保由 filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 destination 指定的文件。

这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。

参数

filename

上传的文件的文件名。

destination

移动文件到这个位置。

返回值

成功时返回 true

如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 false

如果 filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 false。此外还会发出一条警告。

范例

示例 #1 Uploading multiple files

<?php 
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["pictures"]["tmp_name"][$key];
        $name = $_FILES["pictures"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
    }
}
?>

注释

注意:

move_uploaded_file() 对 open_basedir 是敏感的。不过,限制只针对 destination 路径,因为允许移动上传的文件名 filename 可能会与这些限制产生冲突。move_uploaded_file() 仅作用于通过 PHP 上传的文件以确保这个操作的安全性。

警告

如果目标文件已经存在,将会被覆盖。

参见

  • is_uploaded_file() - 判断文件是否是通过 HTTP POST 上传的
  • rename() - 重命名一个文件或目录
  • 参见文件上传处理一章中的简单使用例子。

集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。