2016-10-27 12 views
1

更新日:解決済み! (下の回答) 私はアップロードしているイメージファイルでvarsを追加しようとしています。私は画像をうまくアップロードすることができますが、私はPHPに望んだvarsを送信し、それらを返信することはできません。JSONからPHPへの画像データの送受信変数

私は、PHPに、このイメージを送信することを望んでいます、それは動作しているかもしれません。以下は私が送ろうとしている行です。

function myFunction() { 
    var = Dest: '<? echo $Destination;?>'; // This one 
    var file_data = $('#ImageuploadBtn').prop('files')[0]; 
    var form_data = new FormData();     
    form_data.append('file', file_data); 

    $.ajax({ 
       url: 'admin/myUpload.php', 
       dataType: 'text', 
       cache: false, 
       contentType: false, 
       processData: false, 
       data: form_data,       
       type: 'POST', 
       success: function(php_script_response) 
       { 
        console.log(php_script_response); 
        var html = '<img src="../files/' + php_script_response + '" class="DisplayMainImage img-responsive">'; 

        $(".MainImage").replaceWith(html); 
       } 
    }); 

マイPHP:

<?php 
    if (0 < $_FILES['file']['error']) { 
     echo 'Error: ' . $_FILES['file']['error'] . '<br>'; 
    } 
    else { 
     move_uploaded_file($_FILES['file']['tmp_name'], '../files/' . $_FILES['file']['name']); 
     $Message = $_FILES['file']['name']; 
     //// $Destination DOES NOT WORK 
     $Destination = $_POST['Dest']; /// NO WORK 
     echo $Message; 

    } 
?> 

解決される問題:私はこれらの行を必要と

var Dest = '<? echo $Destination;?>'; 

は、ここに私のスクリプトです。

var Dest = '<? echo $Destination;?>'; 
    form_data.append('Dest', Dest); 
+2

画像以外のものは送信していません。データを追加するには、少なくともform_data.append( 'Dest'、Dest);を試しましたか? – adeneo

+0

それはそれをしました。ちょっと、あなた。ありがとうございました。 –

+2

実際、@adeneoはここにタイムスタンプがあれば、答えを投稿したはずです。私はそれが公正だと思う。 –

答えて

3

これは構文エラーです:

var = Dest: '<? echo $Destination;?>'; // This one 
      ^--- 

、それは今までにoccuringからあなたのAJAX呼び出しを保ち、全体<script>ブロックを殺すでしょう。

変数の割り当てが機能したとしても、あなたのajaxコードでこれを使用することはありません。 formdataがありますが、そこに入れるのはそのファイルアイテムだけです。

1

まず第一に、このような何かにレンダリングされますすべての

var = Dest: '<? echo $Destination;?>'; 

var = Dest: 'some text from $Destination php var'; 

正しいjsの構文ではありません。構文エラーなので、この時点でスクリプトの実行が停止します。多分、あなたは次のようなものを意味していたでしょう:

var dest = '<? echo $Destination;?>'; 

ブラウザで開発ツールを開き、jsコンソールのレンダリングされたソースを参照できます。スクリプトのエラーが表示されます。たとえば、クロムの場合はctrl + shift + iを押し、コンソールタブに移動します。

0

これは必要でした。

var Dest = '<? echo $Destination;?>'; 
form_data.append('Dest', Dest); 
関連する問題