2016-05-20 1 views
0

私はちょうど私の最初のウェブサイトを作成し、私はアンドロイドアプリと通信するためにPHPファイルを使用しています.. アンドロイドアプリはデータの多くを要求しており、それを送り返します。phpからアンドロイドにデータを転送するより良い方法

私はアンドロイドのためにPHPからデータを送信するために、まだ発見した唯一の方法は、私は私のデータに文字列や画像をたくさん持っていると私は、各データ間の醜い"BUFFER1"スタイルバッファなどでそれらすべてを区切るecho

経由で..私はPOSTを使用

<?php 

    $input_number = $_POST["In_Number"]; 

    $path = ("Folder/" . $input_number); 
    $Data1 = file_get_contents($path . "/data1.txt"); 
    $Data2 = file_get_contents($path . "/data2.txt"); 
    $Data3 = file_get_contents($path . "/data3.txt"); 
    echo $Data1; 
    echo "STREAMING_BUFFER"; 
    echo $Data2; 
    echo "STREAMING_BUFFER"; 
    echo $Data3; 
    echo "STREAMING_BUFFER"; 

    ... 

    // sending the pictures now (encoded..) 
    $pic_folder_path = ("Folder/" . $input_number . "/pics/"); 
    $pics_pathes = array_diff(scandir($pic_folder_path), array('..', '.')); 
    foreach($pics_pathes as $pic_path){ 
     $image = file_get_contents($pic_folder_path . $pic_path); 
     echo base64_encode($image); 
     echo "PICTURE_BUFFER"; 
    } 


    echo "STREAMING_BUFFER"; 

    // END 
?> 

通信PHPするには、Androidがはるかに簡単である:それはすべてここ

は一例です。..一緒に組み合わせる長い文字列として最終的に出てきますnameが簡単にimageデータから分離します。..

<?php 
    $name = $_POST["name"]; 
    $image = $_POST["image"]; 

    $decodedImage = base64_decode("$image"); 
    file_put_contents("pictures/" . $name . ".JPG", $decodedImage); 
?> 

<key,value>ペアを送信するために、私は簡単に彼らにそのように読むことができる方法...と私はそのように多くのデータを区切ることができ

がいずれかがあることを確認アンドロイドの方法にPHPのための同様の方法?

ありがとうございました。

+1

使用しているコードを表示します。その後、誰かが改善を提案できるようになります。 – kainaw

+0

あなたの最初のウェブサイトであれば、より優れたウェブ技術に移行するには遅すぎることはありません。 Django?初心者にはうってつけで、[docs](https://docs.djangoproject.com/ja/1.9/intro/overview/)に案内されているので、モバイルデバイスと通信するための素晴らしいRESTサービスを作成できます。 – sonderlain

+1

コード例を追加しました。 –

答えて

0

phpコード&レスポンスの明確な分離を可能にするPHP MVCフレームワークを見ることができます(必要に応じてhtml、jsonになる可能性があります)。たとえば、https://laravel.com/(これは現在の人気のある&の1つ、imhoです)。あなたのシナリオでは、通常、PHPエンドをREST Webサービスとして構築し、JSONレスポンスをアンドロイドに返します。がんばろう!

関連する問題