PHP 文件上传不读取 $_FILES['image'] [重复]

Posted

技术标签:

【中文标题】PHP 文件上传不读取 $_FILES[\'image\'] [重复]【英文标题】:PHP file uploads doesnot read $_FILES['image'] [duplicate]PHP 文件上传不读取 $_FILES['image'] [重复] 【发布时间】:2016-04-27 12:52:29 【问题描述】:

我有这个输入类型

  <input class="btn btn-success" type="file" name="profile_image" style="margin-top:10px; margin-left:20px;"></input>

用户将从这里添加图像文件,以及上传文件的 php 代码

if(isset($_FILES['profile_image']))
            
                $image_type = $this->getImageType($_FILES['profile_image']);

                if($image_type == 'image')
                
                    $extension = pathinfo($_FILES['profile_image']['name'], PATHINFO_EXTENSION);
                    $filename = '123_'.uniqid().'.'.$extension;
                    move_uploaded_file($_FILES['profile_image']['tmp_name'], '../functions/images/images/'.$filename);
                
            
else
            
                $filename = 'default_profile_image.jpg';
            

还有getImageType

public function getImageType($file)
    
        $imageMime = getimagesize($file['tmp_name']);
        $type = explode('/', $imageMime['mime']);
        return $type[0];
    

但它不读取$_FILES['profile_image'],而是移至其他部分。为什么它不读取 $_FILES ?有什么遗漏吗?

【问题讨论】:

也许您的&lt;form&gt; 标签缺少enctype="multipart/form-data" 属性? Read more. 【参考方案1】:

在表单标签中添加此代码enctype="multipart/form-data"

<form action="upload.php" method="post" enctype="multipart/form-data">

【讨论】:

以上是关于PHP 文件上传不读取 $_FILES['image'] [重复]的主要内容,如果未能解决你的问题,请参考以下文章

php上传图片

文件上传

AJAX PHP 图片上传不起作用,$_FILES 为空?

php如何将图片转成字节流

php面向过程的文件上传过程

php图像文件上传并转换为base64而不保存图像