-1

ユーザーが登録フォームと一緒にプロフィール写真をアップロードできる登録フォームを作成したいと考えています。このようにajaxを使って写真をアップロードしています

 $(document).ready(function () {
     $('#UploadForm').on('submit', function (e) {
         e.preventDefault();
         $('#SubmitButton').attr('disabled', ''); // disable upload button
         //show uploading message
         $("#profile_picture").html('<div class ="update_load" style="padding:10px"><img class="load_pic" src="images/ajax-loader.gif" alt="Please Wait"/> </div>');
         $(this).ajaxSubmit({
             target: '#profile_picture',
             success: afterSuccess //call function after success
         });
     });
 });

ajaxからのフィードバックはこのような写真です

echo '<img class="profile" src="uploads/'.$name.'.'.$ext.'" >';

ここで、他の process.php ファイルの $name 変数を現在の index.php ファイルに転送して、MySQL Query を使用して挿入できるようにします。私はそれを行う方法を知りません。2 番目の質問は、ユーザーが登録フォームで自分の写真を複数回変更した場合、以前のアップロードをすべて削除するにはどうすればよいですか?

4

2 に答える 2

1

わかりました、これは私がしていることであり、あなたを助けることができると信じています:

1) タイムスタンプ + ランダム数 >マジックナンバーを生成

2) uploadify jquery プラグインを使用して写真を一時フォルダーにアップロードします (ユーザーが個人データを入力するのと同じフォームから写真をアップロードできます)

3) マジックナンバーを名前としてそのファイルを保存します (前のものを上書きして、好きなだけアップロードできます) 。

4)ユーザーデータを含むフォームの残りの部分と一緒に番号を生成したPOST

番号を選択してください 5):

5a) データを保存するときは、一時ファイルの名前を mysql からの新しい ID を持つ最終フォルダーに変更するだけです。

5b) 一時ファイルはそのままにして、最終フォルダーに移動し、マジック ナンバーを使用してデータベースに保存します。

お役に立てれば!

于 2012-07-16T19:03:04.187 に答える
1

パラメータとして応答を受け取る afterSuccess 関数を作成できます。

$(this).ajaxSubmit({
             target: '#profile_picture',
             success: afterSuccess(data) //call function after success
         });

function afterSuccess(data)
{
    //parse your response to take the name
    //make another ajax request to save it to database
}

この関数は、新しい画像のアップロードも処理できます。そのチェックをphpレベルで行います(ajaxが呼び出されます)

img 文字列を解析して、次のように src を取得します。

var img = $('<img class="profile" src="uploads/gaidouri.jpg" />');
var src = $(img).attr('src');
于 2012-07-16T18:50:20.027 に答える