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タイプを取得できます。

+0

私はこれを自分のコードに入れますか?単なる別のPHPタグであり、コードを入れているのですか?またはこのコードはPHP間でjavascript関数タグ? – user1182476

+0

PHPコード内の任意の場所に置くことができます。 PHPは何らかの形でjavascriptとは何の関係もないので、再度尋ねることはありません。 –

0

私はPHPのfinfo_file関数を使用します。phpのページから

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

例:

<?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); 

出力:

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 
} 
?> 

EDIT

ユーザーは、同様に、サーバーのファイルをチェックする方法について尋ねたので。彼はこのような方法でそれを確認することができます。

<?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

このコードは、JavaScriptの

  • 11. 同形ReactJS - サーバー側とクライアント側の両方でコードを共有する方法は?
  • 12. クライアント側とサーバー側でrecaptchaを確認する方法
  • 13. サーバー側からクライアント側にファイルのダウンロード時間を取得する方法 - Asp.Net?
  • 14. .pdfファイルをサーバー側からクライアント側に保存する方法は?
  • 15. 入力ファイルの出力ファイル形式を取得する方法
  • 16. java.hprofファイルを.logファイル形式に変換する方法は?
  • 17. Sparkからファイルをフェザー形式で保存する方法は?
  • 18. Androidでファイル形式を送信する方法は?
  • 19. Laravel 5.4でファイル形式を検証する方法は?
  • 20. csvファイルをラインプロトコル形式で表示する方法は?
  • 21. システムのDateTime形式の代わりにDataGridViewColumnでサーバーのDateTime形式を使用する方法
  • 22. 入力文字列をbashでチェックする方法は、バージョン形式(n1.n2.n3)
  • 23. Pythonでは、インポートされたモジュールメソッドの関数形式をチェックする方法
  • 24. javascriptでZIPファイル形式でシェイプファイルにエクスポートする方法は?
  • 25. Magentoサーバー側書式確認
  • 26. ファイルがApache POIからの.docx形式か.doc形式かを知る方法
  • 27. DRFサーバー側のリクエストボディモデルフィールドにアクセスする方法は?アンドロイドクライアント側で
  • 28. numeric()関数を使用してSQLサーバーのデータ形式をチェックする
  • 29. サーバーがファイルを受信する前にファイルのサイズをチェックする方法は?
  • 30. ファイルを返すサーバー側