$ _FILES php ile diğer girdi gönderme

3 Cevap php

Aşağıdaki jquery kullanarak bir dosyayı yükleyerek Im ..

function ajaxFileUpload(jobid) {
    $("#loading")
        .ajaxStart(function () {
        $(this).show();
    })
        .ajaxComplete(function () {
        $(this).hide();
    });

    $.ajaxFileUpload({
        url: 'addjobrpc.php',
        secureuri: false,
        jobID: jobid,
        fileElementId: 'fileToUpload',
        dataType: 'json',
        success: function (data, status) {
            $('#imageid').val(data.imageid);
            if (typeof (data.error) != 'undefined') {
                if (data.error != '') {
                    alert(data.error);
                } else {
                    alert(data.msg);
                }
            }
        },
        error: function (data, status, e) {
            alert(e);
        }
    })

    return false;

}

Benim formu bu gibi görünüyor ...

<form name="form" action="" method="POST" enctype="multipart/form-data">

Ben $ HTTP_POST_FILES ['fileToUpload'] ['name'] ile dosya olsun; ama nasıl dosya yükleme parçası olmayan bir giriş almak istiyorsunuz? Örneğin jobId gizli bir alan ama ben addjobrpc değerini almak için görünmüyor olabilir.

Teşekkürler

3 Cevap

Ben bu eklenti ile aşina değilim ama kaynağına hızlı bir göz aldıktan sonra bunun herhangi bir ek POST veri gönderme yeteneğine sahip değil gibi görünüyor.

Ben böyle bir şey yapmak için izin veren, this plugin yerine kullanarak öneririm:

new AjaxUpload('#upload_button_id', {
 action: 'addjobrpc.php',
 name: 'fileToUpload',
 // Additional data to send
 data: {
   jobID:jobid
 },
 // Submit file after selection
 autoSubmit: true,
 responseType: "json",
 onComplete: <success function goes here>
});

Daha sonra $_POST['jobID'] sunucu üzerinde veri almak için kullanabilirsiniz.

The particular plugin kullanmak sadece bir destek gibi görünüyor specified file type of input element only rather than an entire form.

Bu yüzden diğer unsurları iletmekten sanmıyorum.

Eğer 'jobId' sonra kurdunuz yolu ajaxFileUpload (bir parametre olarak gönderilen) ama jQuery AJAX fonksiyonların hiçbiri o ne yapacağını biliyorum. Rağmen, ben gerçekten any veri sunucuya gönderilen alır nasıl görmüyorum sağlanan kod örneği verilmiştir. Daha kodu sağlayabilir?