2012-09-17 58 views
0

我试图让我的网站错误了,如果上传的文件ins't一个.JPG,.JPEG或.JPGPHP图像扩展错误出

<?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()函数会阻止页面的其余部分无法工作,但它不会向用户显示错误警报。

回答

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的文件扩展名将会被允许。

资源 -

1

改变这一行:

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

这一个:

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