2012-02-08 2 views
0
var $imagefile = $('<input />') 
    .attr({ 
     type: 'file', 
     name: 'imageFile', 
     id: 'imageFile' 
    }); 

위의 내용은 파일 입력을 생성하는 코드입니다. 다음은 서버 쪽에서 파일 형식을 확인하는 방법

는 파일 형식이 테이블 행에 맞는지 확인하는 코드입니다 : 클라이언트 측에서 파일 형식에 대해 지금이 확인

function validation() { 

    var marks = parseInt($("#total-weight").text());  
    var _qid = ""; 
    var _msg = ""; 


    var allowedTypes = ["jpg", "jpeg", "gif", "png"]; 

    var path = $("#imageFile").val(); 
    var ext = path.substring(path.lastIndexOf('.') + 1).toLowerCase(); 


    var alertValidation = ""; 
    // Note, this is just so it's declared... 
    $("tr.optionAndAnswer").each(function() { 


     _qid = $("td.qid",this).text(); 
     _msg = "You have errors on Question Number: " + _qid + "\n"; 


     $("#imageFile",this).each(function() { 

     if ($.inArray(ext, allowedTypes) < 0) { 
     alertValidation += '\n\u2022 Unsupported file type'; 
     } 

     if (alertValidation != "") { 
       return false; //Stop the each loop 
      } 

    }); 

     if(alertValidation != ""){ 
      return false; 
     } 
    }); 


    if (alertValidation != "") { 
     alert(_msg + alertValidation); 
     return false; 
    } 

    return true; 
} 

, 그러나 나는 또한 사용하여 서버 측에서이를 확인할 수있는 방법 PHP?

+0

'서버 측에서 확인 하시겠습니까?' 뭐하고 싶어? – Cheery

+0

나는 클라이언트 측에서 파일 형식을 검사 할뿐만 아니라 서버 측에서 검사해야한다는 말을 들었다. 실제로 무엇을 의미하는지 모르지만 서버 측을 검사하지 않으면 보안 문제가 발생한다. PHP 코드를 사용하여 서버 측에서 확인해야한다고 생각합니다 – user1182476

답변

0

일단 파일이 업로드되면 $_FILES['imageFile']['type']을보고 mime 유형을 가져올 수 있습니다.

<?php 
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension 
foreach (glob("*") as $filename) { 
    echo finfo_file($finfo, $filename) . "\n"; 
} 
finfo_close($finfo); 

출력 : PHP 페이지에서

http://www.php.net/manual/en/function.finfo-file.php

예 :

+0

어디에서 이것을 내 코드에 넣을까요? 단지 별도의 PHP 태그이며 코드를 넣어야합니까? 아니면이 코드는 PHP 사이에 javascript 함수에 넣어야합니다. 태그? – user1182476

+0

PHP 코드에서 원하는 곳에이 코드를 넣을 수 있습니다. PHP는 어떤 식 으로든 javascript와는 아무런 관련이 없으므로 다시는 묻지 마십시오. –

0

나는 PHP의 finfo_file 기능을 사용

text/html과
이미지/GIF
응용 프로그램/vnd.ms-excel

+0

이 코드를 사용하여 서버 측에서 파일을 검사 할 수 있지만 파일의 정보를 표시하지 않거나 유효하지 않은지, 파일이 유효한지 여부를 알리는 경고를 사용 하시겠습니까? 나는 이미 경고를 설정했다. – user1182476

2

이 코드를 사용해보십시오.

<?php 
$allowedImageTypes = array("image/pjpeg","image/jpeg","image/jpg","image/png","image/x-png","image/gif"); 
$file = $_FILES['imageFile']; 
$fileType = $file['type']; 
if (!in_array($fileType, $allowedImageTypes)) { 
    echo "Unsupported file type"; 
} 
else 
{ 
    // Process the file 
} 
?> 

편집은 사용자뿐만 아니라 서버의 파일을 확인하는 방법에 대한 질문입니다. 그는 이런 종류의 방법으로 확인할 수 있습니다.

<?php 

$filePath = "image/image.jpg"; 
list($width, $height, $type, $attr) = getimagesize($filePath); 
$fileType = image_type_to_mime_type($type); 
$allowedImageTypes = array("image/pjpeg","image/jpeg","image/jpg","image/png","image/x-png","image/gif"); 
if (!in_array($fileType, $allowedImageTypes)) { 
    echo "Unsupported file type"; 
} 
else 
{ 
    // Process the file 
} 

?> 
+0

이 코드는 자바 스크립트