0

如果上传的文件不是 .jpg、.jpeg 或 .JPG,我正在尝试让我的网站出错

<?php
function error(){echo"<script>$(function(){alert('Error')});</script>"; exit();}
$fileName = $_FILES['image']['name'];
$ext = substr(strrchr($fileName, "."), 1);

if($ext != "jpg" || $ext != "jpeg" || $ext != "JPG"){ error(); }
?>

到目前为止,当上传另一种文件类型(.png、.gif、.doc 等)时,什么都没有发生。error() 函数使页面的其余部分停止工作,但它不会向用户显示错误警报。

4

2 回答 2

1

更改此行:

function error(){echo"<script>$(function(){alert('Error')});</script>"; exit();}

对于这个:

function error(){echo"<script>alert('Error');</script>"; exit();}
于 2012-09-17T19:53:27.243 回答
0

这是“白名单”文件扩展名的简单片段 -

$path_info = pathinfo($fileName);
$ext = strtolower($path_info['extension']);
$extWhitelist = array(
 'bmp',
 'gif', 
 'jpeg',
 'jpg',
 'png'
);
if (!in_array($ext,$extWhitelist)){
  // invalid file extension! 
}

$extWhitelist仅允许使用中的文件扩展名。

资源 -

于 2012-09-17T19:52:26.993 回答