2017-10-18 4 views
-1

Ich habe ein PHP-Skript erstellt, um Daten zu senden von einem Android-App zu PHP und speichern Sie es in der Datei zu lesen, aber die Textdatei ich erhalte folgende Anweisung nach dem Öffnen: -PHP-Skript Array-Array zurückgeben?

ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray

anstelle von daten könnte mir jemand sagen, wo iam schief geht und wie kann ich es korrigieren?

Hier ist mein PHP-Skript: -

<?php 

$password=""; 
$user="root"; 
$database="shadowpets"; 
$host="localhost"; 
$response=array(); 
$con=mysqli_connect($host,$user,$password,$database)or die("Unable to connect"); 
if($_SERVER["REQUEST_METHOD"]=="POST") 
{ 


    if(isset($_POST['OrderSummary'])) 
    { 

     $data=$_POST['OrderSummary']; 
     $json=json_decode($data,true); 
     $file='text.txt'; 
     $result=file_put_contents($file,$json); 


      $response["success"]=1; 
      $response["message"]="done"; 


    } 
    else 
    { 
     $response["success"]=0; 
     $response["message"]="parameters not correctl formatted"; 
    } 

    echo json_encode($response); 
} 
    ?> 
+0

ist, was im Skript ist? Wie präsentieren Sie die Daten? – hungrykoala

+0

Bitte zeigen Sie Ihren Code – KRIPS

+0

Wie sollen wir wissen, was Sie falsch machen, wenn wir Ihren Code nicht kennen? Bitte lesen [fragen]. –

Antwort

0

Ihr $json ist ein Multidimension-Array, während Funktion file_put_contents() akzeptieren nur eine Zeichenfolge, Array oder Stream als Dateninhalt. Wenn das Array ein Dimensionsfeld ist, speichert es jedes Element des Arrays. Wenn das Array Multidimension Array ist, wird es dazu führen,

PHP Hinweis: Array String-Konvertierung in /home/xxxxx/test.php auf Linie xx

können Sie einfache Demo testen, die speichert ArrayArrayArray in der Datei aaa.txt. Und die Zahl der ‚Array‘ ist lenth des Multidimension Array count([[1,2,3,4],[2],[3]]) die 3.

<?php 
file_put_contents("aaa.txt", [[1,2,3,4],[2],[3]]); 
+0

das Problem ist gelöst Ich möchte wissen, wie kann ich es lesen Element und speichern Sie es in der Datenbank –

+0

Hallo, der Downvoter, können Sie Ihre Ideen hier. –

+0

Diese Antwort kann nicht wahr sein, da OP 'file_put_contents ($ datei, json_decode ($ _ POST ['OrderSummary'], true));'. Wenn '$ _POST ['OrderSummary']' tatsächlich ein (multidimensionales) Array ist, würde die Ausgabe in seiner Datei leer sein als 'json_decode ([[],], true) '] (https://ideone.com/ki9o12) gibt 'NULL' zurück – DarkBee

-1

prüfen print_r ($ _ POST [ 'OrderSummary-']), bevor sie in Datei schreiben. Muss Array sein,

+1

Sollte ein Kommentar sein – DarkBee

+0

danke für Ihren Vorschlag, wie ich den Inhalt des Arrays lesen und dann in der Datenbank speichern möchte Kannst du mir trotzdem vorschlagen, es zu tun? –

+0

Offen gesagt, ich weiß nichts über den Inhalt von $ _POST ['OrderSummary'], Wenn Sie den gesamten Inhalt als Zeichenfolge abrufen möchten, verwenden Sie implode auf diesem Array. –