php - 检查数组元素中是否有任何禁止的扩展
问题描述
我想检查数组元素中是否有任何禁止的扩展。怎么做?
$allowed_types = array('jpg', 'jpeg');
Array
(
[0] => C:/xampp/htdocs/blog/media/images/1597335125_1.jpg
[1] => C:/xampp/htdocs/blog/media/images/1597335125_2.jpg
[2] => C:/xampp/htdocs/blog/media/images/1597335125_3.jpg
[3] => C:/xampp/htdocs/blog/media/images/1597335125_4.jpg
[4] => C:/xampp/htdocs/blog/media/images/1597335125_5.png
)
解决方案
有多种方法,您可以使用pathinfo()
例如这里:
$allowed_types = array('jpg', 'jpeg');
$files = [
"C:/xampp/htdocs/blog/media/images/1597335125_1.jpg",
"C:/xampp/htdocs/blog/media/images/1597335125_2.jpg",
"C:/xampp/htdocs/blog/media/images/1597335125_3.jpg",
"C:/xampp/htdocs/blog/media/images/1597335125_4.jpg",
"C:/xampp/htdocs/blog/media/images/1597335125_5.png",
];
$not_allowed_files = array_filter($files, function($var) use ($allowed_types) {
$path_info = pathinfo($var);
return !in_array($path_info['extension'], $allowed_types);
});
(未测试)
推荐阅读
- c - C 类型语法如何避免循环定义?
- python - 使用 os.write 时 multiprocessing.Pipe() 的 recv 永久阻塞
- javascript - 将 firebase downloadURL 传递给本地变量
- validation - 不平衡的数据集拆分
- node.js - 我们可以将外部 url 传递给 google cloud vision api 来检测图像标签吗?
- mysql - nodejs中的错误SQL语法
- java - Mongodb查询检查参数是否为真且不为空
- r - lpSolve 具有多个约束的背包线性规划
- swift - 强制展开或使用可选链接来设置属性
- sql - 在 SQL 中输入电话号码,丢失前导零