php – 这只允许某些扩展吗?
发布时间:2020-12-13 22:07:27 所属栏目:PHP教程 来源:网络整理
导读:我发现这个片段说只允许某些文件类型.它会工作吗,有人可以绕过它来上传他们想要的文件类型吗?并且有人可以解释子部分,我不知道它是如何工作的.. ?phpfunction CheckExt($filename,$ext) { $name = strtolower($filename); if(substr($name,strlen($name) -3
我发现这个片段说只允许某些文件类型.它会工作吗,有人可以绕过它来上传他们想要的文件类型吗?并且有人可以解释子部分,我不知道它是如何工作的..
<?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为您提供此功能) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |