0

ファイルを取り込む入力フィールドを持つフォームがあります。ファイルの入力を取得しようとしています。画像としましょう。この後、php を使用してファイルの種類を確認し、データベースにアップロードします。jquery で画像ファイルを php に投稿して、php がその機能を実行できるようにするにはどうすればよいですか。他のフィールドの属性は取得できますが、画像は取得できません。

html

<input type="file" name="upload" id="upload"/>

jquery

//how do get the file
var img = //left blank what should i get
var a = 'form1';
var url = "upload_data.php";
$.post(url, {a:a, file:img, other:fields}){
//success
}

php

$p = $_POST['a'];
$file = $_POST['file'];

$iname = $_FILES['file']['name'];

$isize= $_FILES['file']['size'];

$itemp= $_FILES['file']['tmp_name'];

$otherfield = $_POST['other'];
if($p = 'form1'){

form1func($otherfield, $file, $iname, $itemp); // at this point will this work since i used jquery if wont what is the best solution at this point.

}

きれいではないかもしれませんが、誰かが考えを理解してくれることを願っています

4

1 に答える 1

1

フォーム送信前にアップロードボタンをクリックすると、次のコードを使用できます。

var ext = $('#upload').val().split('.').pop().toLowerCase();
if($.inArray(ext, ['gif','png','jpg','jpeg']) == -1) {
    alert('invalid extension!');
}

または :

var filename = jQUery('#upload').val().trim();
var valid_extensions = /(\.jpg|\.jpeg|\.gif|\.png|\.bmp)$/i;   
if(valid_extensions.test(filename))
{ 
   alert('OK');
}
else
{
   alert('Invalid File');
}
于 2012-08-21T18:07:03.757 に答える