我试图将我的上传限制为仅上传带有pdf的文件扩展名。我以前可以进行上传,但可以使用;进行任何扩展
$form = $_FILES['form']['name'];
$upload = "forms/$form";
move_uploaded_file($_FILES['form']['tmp_name'],$upload);
我现在正尝试将其调整为仅上传pdf,使用以下方法;
if (isset($_FILES['file']))
$exten = explode( "." , $_FILES['form']['name']);
$exten = $exten[1];
$form = $_FILES['form']['name'];
$upload = "forms/$form";
if (
($exten == "pdf")
|| ($exten == "PDF")){
move_uploaded_file($_FILES['form']['tmp_name'] , $upload);
}
但是,文件不再上传到该目录,并且它接受任何扩展名。它正在我的数据库中输入文件名。我遵循了一个教程,但是不确定哪里出了问题
要获取文件扩展名,请尝试使用带有PATHINFO_EXTENSION参数的pathinfo,这将节省您的时间
您还应该使用strtolower函数进行比较,因为例如.PdF / .PDf扩展名会意外地被您编写的条件拒绝
if (isset($_FILES['file'])) {
$exten = pathinfo($_FILES['form']['name'], PATHINFO_EXTENSION);
$form = $_FILES['form']['name'];
$upload = "forms/$form";
if (strtolower($exten) == 'pdf'){
move_uploaded_file($_FILES['form']['tmp_name'] , $upload);
}
}
PS:isset函数后您是否错过了方括号,还是只是复制粘贴问题?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句