file_put_contents füllt die Datei nicht

EddieG

Erfahrenes Mitglied
ich möchte daten aus meiner DB in zwei verschiedene json files schreiben und verstehe einfach nicht wieso er die "list_realms.json" füllt aber die "list.json" nicht.


PHP:
 function createJsonFile()
    {
         ..
                array_push($median,$row['median_value']);
                $median = $this->calc->priceCheckArr($median,$row['item_ah_id']);
                  if($row['item_ah_id']==171276)
                {
                }
                $json[$i]['median_value'] = $median[1];
              
                $json[$i]['percent'] =$this->calc->getPricePercent($row['first_quartile'],$median[1],$row['item_ah_id']);
            }
           if($row['vendor']==1){ 
           }else{
        }
        $query= 'SELECT realm_name FROM wow_realms WHERE connected_realm_id=:id';
        $stmt2 = $this->con->prepare($query);
        $stmt2->bindValue('id',$r_id,PDO::PARAM_INT);
        $stmt2->execute();
        $k = $stmt2->rowCount();
        $z = 0;
        while($row = $stmt2->fetch(PDO::FETCH_ASSOC))
        {
               $json_realms[$z]['realm_names'] =$row['realm_name'];
            $z++;
        }   
    }

        $json = json_encode($json);
        echo "<pre>".print_r($json,true)."</pre>";
        $file = __DIR__.'/../api/list.json';
        file_put_contents($file, $json);
      
        $json_string_realms = json_encode($json_realms);
        $file_realms = __DIR__.'/../api/list_realms.json';
        file_put_contents($file_realms, $json_string_realms);
    }
Wie man sehen kann sind die Aurfrufe genau gleich. Ich habe auch schon nachgeschaut ob es möglicherweise an den Berechtigungen liegen kann. Jedoch haben beide json Dateien 777.
Irgendeine Idee woran es liegen kann?
 
Zuletzt bearbeitet:
Hast du $json_realms mal angeschaut (debuggen)? Ist da überhaubt Inhalt drin?
 
Hast du $json_realms mal angeschaut (debuggen)? Ist da überhaubt Inhalt drin?
ja da ist Inhalt drin und der wird auch eingetragen mir geht es um die $json.
mein print_r gibt das array mit allen Daten aus wenn er über dem $json =encode ist also so sind alle Daten im Array drin

Code:
echo "<pre>".print_r($json,true)."</pre>";
$json = json_encode($json);
sobald ich aber das mache


Code:
$json = json_encode($json);
echo "<pre>".print_r($json,true)."</pre>";
ist die Variable / array leer
 
Zurück