2017-03-25 4 views
0

Blueimp jQuery File Uploadを使用してファイルをアップロードする際に、追加のフォームデータを取得する方法を理解するのが苦労しています。私はこれを追加した...私は私の#fileupload形式の隠し入力を持っている...それがアップロードされたときに、ファイル名に付加されるように値を渡すためにjQuery File Upload追加のフォームデータを取得する

<input type="hidden" name="referrer" id="referrer" value="123"> 

を抱き合わせています私のmain.js ... PHPフォルダ内のindex.phpに

$('#fileupload').bind('fileuploadsubmit', function (e, data) { 
    data.formData = $('form').serializeArray(); 
}); 

、これ...私は今、働くことができない何

$smeg = $_POST['referrer']; 

アウトUploadHander.php

における変数$ SMEGを使用する方法である私は、理想的には私は例

protected function trim_file_name($file_path, $name, $size, $type, $error,$index, $content_range) { 
    return $name. ' - '.$smeg; 
} 

として、以下の使用して、ファイル名に変数を追加したいと思いますが、私は試してみて、$を使用するときsmeg私はエラーを取得します$ smegは未定義の変数です。

私は追加のフォームデータを正しく渡していますか?もしそうなら、私はそれを検索するのですか?

+0

'$のsmeg'が定義されていませんが'trim_file_name'のスコープ内 –

+0

@u_mulder私はtrim_file_nameに$ smeg = $ _POST ['referrer']を使用しますか?それは私が理解していないビットです – tatty27

+0

または引数として渡します。 –

答えて

1

機能範囲では、$smegは定義されていません。だから、どちらかの関数の内部$_POST['referrer']を使用することができます。

protected function trim_file_name($file_path, $name, $size, $type, $error,$index, $content_range) { 
    return $name . ' - ' . $_POST['referrer']; 
} 

または署名を機能させる別の引数を追加します。第二のアプローチは、ある

trim_file_name($path, $name, $_POST['referrer'], /* more arguments */); 

:のように機能する

protected function trim_file_name($file_path, $name, $smeg, $size, $type, $error,$index, $content_range) { 
    return $name . ' - ' . $smeg; 
} 

コールが何かになりますコード内に$_POST配列の依存関係がなくなるため、が優先されます。ところで

、あなたはあなたの関数内のすべてのこれらの引数を使用しない場合 - 署名でそれらを定義して、のようなものに機能を簡素化する必要はありません。

protected function trim_file_name($name, $smeg) 
{ 
    return $name . '-' . $smeg; 
} 
関連する問題