分享

PHP将上传的文件移动至指定位置

 流楚丶格念 2022-01-14

在PHP中,接收到的文件有其中五个属性,打印文件参数

var_dump($_FILES['img'])

可得到如下图属性
在这里插入图片描述
得到的图片文件有 name type tmp_name error size属性

要移动时,我们需要用到 tmp_name

接收到了文件,就可以移动了

 $avatar = $_FILES['avatar'];
 // 将文件从临时目录移动到网站范围之内
 $source = $avatar['tmp_name']; // 源文件在哪

 $target = './uploads/' . $avatar['name']; // 目标放在哪

 // 移动的目标路径中文件夹一定是一个已经存在的目录
 $moved = move_uploaded_file($source, $target);

当然如果单纯的移动的画肯定会出现名字重复的问题,我们可以在移动时给他重命名,取一个随机数

$avatar = $_FILES['avatar'];
// 这个函数得到的是文件的扩展名
$ext = pathinfo($avatar['name'], PATHINFO_EXTENSION);
// => jpg
// 名字中加入随机数
$target = '../uploads/avatar-' . uniqid() . '.' . $ext;

 // 移动的目标路径中文件夹一定是一个已经存在的目录
if (!move_uploaded_file($avatar['tmp_name'], $target)) {
  $GLOBALS['error_message'] = '上传图片失败';
  return;
}

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多