php - 图像扩展未显示在 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。在我的数据库中。
出了什么问题?
解决方案
检查是否$ext
获得扩展。如果它没有得到检查$_FILES['fileToUpload']['name']
读数。echo
您可以通过它们进行调试。
检查你的数据库字符长度。希望能帮助到你。
推荐阅读
- python - 除了 BaseException as e: 不断抛出错误
- javascript - page.evaluate 返回空值但浏览器控制台返回正确值
- express - 如何使用 Nuxt Auth 模块在 Vuex 中保存 JWT 令牌?
- firebase - 使用getSignedUrl作为缩略图的firebase云功能在大约一周后到期,没有明确的原因?
- node.js - 使用表 B 获取表 A 值,其中 A.field_name = B.field_name
- javascript - Semantic-UI-React 网格列填充不设置列内联
- android - 我想从 firebase-database 获取“bookname”子项的值,但它返回 null 并且应用程序将崩溃,所以请帮助我
- python - for 循环错过了第一次迭代
- ssis - SSIS新手如何将数据输出到文件
- python - 我需要询问用户在哪里保存 pdf 文件以及使用 python 命名它