0

Array を含む特定のデバイスから生成されたoutput.jsファイルがあります。

var OUT=new Array (0x80,0x00,0x40,0x0026,0x0011,0x0014,0x0013,0x0018,0x0017,0x03FD,0x0116)

PHP を使用してこの配列にアクセスするにはどうすればよいので、指定した Array[x] を任意の場所に簡単に出力できます。

print $OUT[4];

シンプルなJSで、次のようにすることができました:

document.write(OUT[4]);

そのoutput.jsをPHPでtxtファイルのように処理してから、分割して「配列のようにする」こともできる場合に備えて、それを正しく使用する方法はないと思います.. ^_^

それに関するヒントや提案はありますか?:)

サンクス!

4

3 に答える 3

2

PHP でファイルを直接取得する場合は、カスタム パーサーを作成するか (ファイル形式の一貫性が信頼できる場合は正規表現を使用)、またはJavaScript エンジンとのインターフェイスを使用できます

それ以外の場合は、JavaScript が Web ブラウザーで実行されていると仮定します...</p>

これを行う最も簡単な方法は、createElementand appendChildwhile を使用して配列をループし、配列の各要素の入力をform含む要素を作成することです ( PHP が使用するアルゴリズムを満たすhiddenような名前を付けて、友人を作成します)。フォーム。foo[]$_POSTsubmit()

または、配列を文字列にシリアル化し (たとえば、データにコンマがないことがわかっている場合はコンマ区切り)、それを使用してクエリ文字列を作成し ( )、 XMLHttpRequestvar qs = "?foo=" + encodeURIComponent(serialised_array);を使用して渡すこともできます。

于 2012-10-06T19:59:48.890 に答える
0

最も簡単な方法は、独自のライブラリをロールするのではなく、jQueryのようなライブラリを使用することです...

<head>
<script src="http://code.jquery.com/jquery.min.js">
....

次に、データを計算した時点で、PHPサーバーに投稿します

var OUT = new Array (0x80,0x00,0x40,0x0026,0x0011,0x0014,0x0013,0x0018,0x0017,0x03FD,0x0116);
$.ajax({
    url: 'http://www.example.com/receiver.php'  //change example.com to your server
    ,type: 'POST' //use POST so don't have to worry about URL length
    ,data: {out: OUT} //pass contents of 'OUT' in variable 'out'
    ,dataType: 'json' //use JSON formatting of data
    ,error: function() { 
        alert("Failed to contact server"); 
    }
    ,complete: function() {
        alert("Finished sending data to server.");
    }
});

Receiver.phpで

$OUT = json_decode( $_POST['out'] ); // 'out' matches the parameter name in jQuery Ajax call
print_r( $OUT ); //print contents of array $OUT 
于 2012-10-06T20:32:22.260 に答える