2012-09-17 89 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();}