В общем суть такова приходить json массив внутри которого есть массивы и них тоже массивы.
Необходимо подменить каждую ссылку вложенного массива и вернуть json обратно
Делаю так:
foreach ($pays as $ke => &$va) {
$avatar = (array)$va;
foreach ($avatar as $key => &$value) {
if($key == "avatar" or $key == "flag"){
$path = $_SERVER['DOCUMENT_ROOT'].dirname(parse_url($value)['path'])."/";
$file = basename(parse_url($value)['path']);
if(!is_dir($path)){
mkdir($path, 0777, true);
}
if(is_dir($path)){
file_put_contents($path.$file, file_get_contents($value));
$newpath = dirname(parse_url($value)['path'])."/".$file;
$value = $newpath;
}
$newpath = dirname(parse_url($value)['path'])."/".$file;
$value = $newpath;
}
}
}
На уровне второго foreach все работает хорошо => замена происходит
Но когда я после всего этого хочу вывести получившияся результат (print_r($pays)) я вижу что ссылки не подменены, как быть?