私は現在自分自身のAPIを開発していますので、2台のサーバを使用できます。 1つのサーバーがfile_get_contentsとGETパラメーターごとに要求して、他のサーバーがJSONで応答できるようにしています。すべてのパラメーターが1つの要求まですべて正常に動作します。php file_get_contentsはすべてのパラメータを送信しません
$detailjson = file_get_contents("http://domain/api.php?id=$id&api=detailsuche&sart=$sart&latq=$latq&lonq=$lonq&umkreis=$umkreis&location=$location&warmmiete=$warmmiete&mietemin=$mietemin&mietemax=$mietemax&wohnqmmin=$wohnqmmin&wohnqmmax=$wohnqmmax&zimmermin=$zimmermin&zimmermax=$zimmermax&grundqmmin=$grundqmmmin&grundqmmax=$grundqmmax&baujahrmin=$baujahrmin&baujahrmax=$baujahrmax&garage=$garage&haustiere=$haustiere&badezimmer=$badezimmer&$haustyp&etagenallmin=$etagenallmin&etagenallmax=$etagenallmax&etagenmin=$etagenmin&etagenmax=$etagenmax&vtour=$vtour&sort=$sort");
は、現在、以下のものが提出される:
アレイ を( [latq] => 49.3134606 [lonq] => 6.752286499999968 [umkreis] => 50 [位置] =>ザールルイ、ドイツ [SART] => 4 [warmmiete] => N [6] => [7] => [8] => [9] => [10] => [11] => [12] => [13] => [14] => [15] => [16] => [17] => [18 ] => [haustyp] => haustyp [0] = Dachgeschoss [20] => [21] => [22] => [23] => [24] => [25] = > [26] => )
しかし、JSONの応答は、次のようである:
「49.3134606」「50」「ザールルイ」「4」「null」「」「」「」
次のように表示されます:なぜ私はですか? location cut off、warmmiete = null、なぜhaustypはnullですか? JSON側の
私は私のブラウザでGETパラメータを使用している場合、私は戻って、正しい配列を取得
$XX = htmlspecialchars($_GET['XX']);
を使用しています。だから、何か私のfile_get_contentsで破壊された... 私はURLエンコードとhttp_build_queryを試みたが、何も動作:(
api.phpとは何ですか? jsonレスポンスはどのように作成されますか? –
実際には、mysqlクエリを実行する必要があります。しかし、どういうわけか(上記を参照)私はすべてのパラメータを取得できないので、クエリは私が望むように動作しません。しかし、単純にすべての行をフェッチし、json_encode($ test)を介してそれらを送信します。上記の例では、私はGETSを新しい配列に入れて返すだけです – chack
api.phpに送る前にすべてのパラメータに 'urlencode'を使っていますか? –