PHP图像扩展错误输出

时间:2012-09-17 19:48:26

标签: image php

如果上传的文件不是.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()函数会阻止页面的其余部分工作,但不会向用户显示错误警告。

2 个答案:

答案 0 :(得分:1)

更改此行:

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

这个:

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

答案 1 :(得分: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中的文件扩展名。

资源 -