2016-12-10 19 views
0

私はこのようなコードを持っています。 PHPで私はforeachループを介してjsonファイルを作成します。Foreachファイルで書き込みが正しく動作しません

私のコードで
Array ([0] => Array ([out] => Array ([id] => 5 [title] => Network [url] => network [label] => forum [tag] => 218) [filename] => tags/tag_218) [1] => Array ([out] => Array ([id] => 6 [title] => Arch [url] => arch [label] => forum [tag] => 218) [filename] => tags/tag_218) [2] => Array ([out] => Array ([id] => 7 [title] => not [url] => not [label] => forum [tag] => 218) 

::のように私の配列

foreach($my_arr as $arr){ 
    $file_name=$arr['filename']; 
    $response=$arr['out']; 
    if(!(file_exists($file_name))){ 
     $fp = fopen($file_name.'.json', 'w+'); 
     fwrite($fp, '$response'); 
     fclose($fp); 
    } 
    else{ 
     $fpd = fopen($file_name.'.json', 'a+'); 
     fwrite($fpd, '$response'); 
     fclose($fpd); 
    } 
} 

はここで、テキストファイルが作成されました。しかし、最後のデータだけが追加されました。どうして?

+4

質問は何ですか? –

+0

ここにテキストファイルが作成されました。最後のデータのみが挿入されます。どうして? – SARAN

+0

あなたはどこであなたのjsonを作りますか? –

答えて

0

このようFPUT代わりのFWRITEを使用してみてください:

foreach($my_arr as $arr){ 
$file_name=$arr['filename']; 
$response=$arr['out']; 
if(!(file_exists($file_name))){ 
    $fp = fopen($file_name.'.json', 'w+'); 
    fput($fp, '$response'); 
    fclose($fp); 
} 
else{ 
    $fpd = fopen($file_name.'.json', 'a+'); 
    fput($fpd, '$response'); 
    fclose($fpd); 
} 
} 

時には、fwriteのがファイルに配列を、トラブルのビットに1を書くことができたときに(ああPHPの美しさ)

関連する問題