首页 > 解决方案 > 图像扩展未显示在 PHP 文件上传中

问题描述

我正在使用这段代码来处理上传多个图像的输入,并调整它们的大小。它有效,但有一件小事不想做它的工作。我试图获取的扩展名未显示在文件名中。

这是问题所在的一段代码:

    if(isset($_POST["submit"])) {
    if(is_array($_FILES)) { 
        foreach ($_FILES['fileToUpload']['tmp_name'] as $uploadedFile) { 
        //$uploadedFile = $_FILES['fileToUpload']['tmp_name'];
            if($uploadedFile <> ''){
                $sourceProperties = getimagesize($uploadedFile);
                $newFileName = time();
                $dirPath = "../images/";
                $ext = pathinfo($_FILES['fileToUpload']['name'], PATHINFO_EXTENSION);
                $imageType = $sourceProperties[2];

                switch ($imageType) {

                    case IMAGETYPE_PNG:
                        $imageSrc = imagecreatefrompng($uploadedFile); 
                        $tmp = imageResize($imageSrc,$sourceProperties[0],$sourceProperties[1]);
                        imagepng($tmp,$dirPath. $newFileName. "_thump.". $ext);
                        break;           

                    case IMAGETYPE_JPEG:
                        $imageSrc = imagecreatefromjpeg($uploadedFile); 
                        $tmp = imageResize($imageSrc,$sourceProperties[0],$sourceProperties[1]);
                        imagejpeg($tmp,$dirPath. $newFileName. "_thump.". $ext);
                        break;

                    case IMAGETYPE_GIF:
                        $imageSrc = imagecreatefromgif($uploadedFile); 
                        $tmp = imageResize($imageSrc,$sourceProperties[0],$sourceProperties[1]);
                        imagegif($tmp,$dirPath. $newFileName. "_thump.". $ext);
                        break;

                    default:
                        echo "<div class='alert alert-danger'>File is not an image.</div>";
                        exit;
                        break;
                }

            }
         }
     }
}

例如,它现在保存的东西称为1547265041_thump。在我的数据库中。

出了什么问题?

标签: phpimagefileupload

解决方案


检查是否$ext获得扩展。如果它没有得到检查$_FILES['fileToUpload']['name']读数。echo您可以通过它们进行调试。

检查你的数据库字符长度。希望能帮助到你。


推荐阅读