php - 带有 zip 验证的 php 图像验证
问题描述
我正在创建 PHP 图像验证和 zip 文件验证脚本 我的 zip 文件验证脚本正在运行,但我添加了图像验证,但它不起作用
这是我的代码
if($_FILES['fileImage']['tmp_name'][0] != "fileImage/jpg") {
die($_FILES['fileImage']['name'][0] . " is not a valid image file.");
exit;
}
$z = zip_open($_FILES['fileImage']['tmp_name'][4]);
if (!is_resource($z)) {
die($_FILES['fileImage']['name'][4] . " is not a valid ZIP file.");
}
zip_close($z);
解决方案
我会先用 mime_content_type 检查临时文件。结果不依赖于文件扩展名,这很容易操作。然后进一步处理可以完成验证。
$tmpFile = $_FILES['fileImage']['tmp_name'];
switch ($mimeType = mime_content_type($tmpFile)) {
case 'application/zip':
//... process zip ... zip_open, etc
break;
case 'image/jpeg':
//... process image ... getimagesize etc.
break;
default:
die('Unknown filetype "' . $mimeType . '".');
}
推荐阅读
- typescript - 如何使用 TypeScript 确保部分具有给定字段?
- html - 如何在 flex-direction: 列 CSS 的上下文中使 (nodeType == Node.ELEMENT_NODE) 的行为类似于 (nodeType == Node.TEXT_NODE)
- docker - 将 WebAgent 作为 docker 容器启动
- angular - 由于 Chrome 与 Chromedriver 版本不匹配,Angular e2e 测试在 GitHub 操作中失败
- php - 我的联系表单脚本ajax php jquery没有响应
- java - 如何在 Java 中显示返回多行的 SQL 查询
- python - 如何与使用 python pickle 模块保存的 ML 模型进行交互?
- sql - 通过查询将访问组转换为 sql server 查询
- ios - 如何在 SwiftUI 中居中裁剪图像
- python - 试图完成一个代码来编译两个字符.com域的列表,包括python的数字0-9