2017-03-08 4 views
0
$image= addslashes(file_get_contents(basename($_FILES['image']['tmp_name']))); 
if(!empty($_FILES['image']['tmp_name']) && file_exists($_FILES['image']['tmp_name'])) //image is selected 
{ 
    $ext = pathinfo($filename, PATHINFO_EXTENSION); 

    if($ext == 'png' ||$ext == 'jpeg'||$ext == 'jpg') 
    { 
     //$insertQuery 
    } 
    else 
    { 
     echo '<script language="javascript">'; 
     echo 'alert("Please select correct picture format")'; 
     echo '</script>'; 
    } 

問題は、ファイルの拡張子を取得/検証できないことです。条件に一致する写真をアップロードするたびに、「正しい写真を選択」というメッセージが表示されます。画像の拡張子を確認する方法

私のコードで何が問題になっていますか?

+0

デバッグ: '$ ext' – nogad

+0

をエコーも何を意味するか – RiggsFolly

+0

@ngod大文字と小文字の区別を検討? – ron

答えて

0

PHPを組み込むことができますpathinfo機能。

<?php 
$supported_image = array(
    'gif', 
    'jpg', 
    'jpeg', 
    'png' 
); 

$src_file_name = 'abskwlfd.PNG'; 
$ext = strtolower(pathinfo($src_file_name, PATHINFO_EXTENSION)); // Using strtolower to overcome case sensitive 
if (in_array($ext, $supported_image)) { 
    echo "it's image"; 
} else { 
    echo 'not image'; 
} 
?> 
関連する問題