gpt4 book ai didi

php - 这只会允许某些扩展吗?

转载 作者:可可西里 更新时间:2023-10-31 23:59:39 25 4
gpt4 key购买 nike

我发现这个片段说将只允许某些文件类型。它会工作吗?有人可以绕过它来上传他们想要的任何文件类型吗?有人可以解释 substr 部分吗,我不明白它是如何工作的..

<?php
function CheckExt($filename, $ext) {
$name = strtolower($filename);
if(substr($name, strlen($name) -3, 3) == $ext)
return true;
else
return false;
}
?>

最佳答案

检查扩展的更好方法

function checkExt($filename, $ext)
{
$fnExt = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
if(!is_array($ext)) {
$ext = (array)$ext;
}
$ext = array_map('strtolower', $ext);
return in_array($fnExt, $ext);
}

你可以这样调用它

var_dump(checkExt('test.temp', 'tmp')); // false
var_dump(checkExt('test.temp', array('tmp', 'temp'))); // true

避免使用 substr,因为扩展长度未知(您也可以使用 substr 和 strrpos,但 php 为您提供了此功能)

关于php - 这只会允许某些扩展吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3066275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com