0

json をその形式に再エンコードする際に問題が発生しています。私が達成しようとしているのは、.json ファイルのアップロードで、特定の基準を満たすように変更することです。

問題は、ファイルの画像 src を変更して json にエンコードしようとすると、foreach ループの配列が正しく出力され、コンテンツなしで新しいファイルが生成されることです!

この件で少しでもお役に立てたら幸いです

function prepareImages($file,$url,$article)
{

    $string = file_get_contents($file);
    $json = json_decode($string,true);
    $value = array();
    //$array = $json['elements'];
            //$imgArray = array();
    /* if(['type'] == "image")
    {
        array_push($json['elements']['src'],$array);
    } */

    foreach($json['elements'] as $value)
    {
        if($value['type'] == "image")
        {
                        $arr = explode('\\', $value['src']);
                        $count = count($arr);
                        $img = $arr[$count-1];
                        $src = $url.'res/'.$article.'/'.$img;
                        $value['src'] = $src;

                        //print_r($json);
        }
                    //This prints all the values correctly
                    print_r($value);


    } 
                    $json = $value;
                    $string = json_encode($json);

            file_put_contents($file,$string);


}
4

1 に答える 1

0

json_encode ()のドキュメントに従って、その関数はスラッシュをエスケープします。これを試してください。

$value['src'] = str_replace('\\/', '/', $src)
于 2012-05-28T10:46:59.347 に答える