用PHP脚本修改yaml文件


Modify yaml file with PHP script

我有一个共同的。

main:
  shred:
    viral:
      image1:
        alt: Sunset
        src: 'http://i.imgur.com/nOptw.jpg'
      image2:
        alt: Fernie
        src: 'http://i.imgur.com/yfJaUoX.gif'

我正试图制作一个php脚本,编辑'src'属性到我从下载的新json文件中获得的新图像。问题是我如何编辑这2张图片的src。我试图使用Symfony Yaml组件转储,但不知道如何使用它来更新我的文件的特定部分。

请帮…

正如您所说,您必须使用Symfony Yaml组件。

例如,你可以访问"src"数据:

$yaml = Yaml::parse(file_get_contents($this->container->get('kernel')->getRootDir() .'/config/common.yml'));
$srcData = $yaml['main']['schred']['viral']['image1']['src'];

这里,您的数据是可访问的= 'https://i.stack.imgur.com/ElkSn.jpg'。接下来,您可以更改值并更新您的文件:

$yaml['main']['schred']['viral']['image1']['src'] = $yourNewValue;
$new_yaml = Yaml::dump($yaml, 5);
file_put_contents($this->container->get('kernel')->getRootDir() .'/config/common.yml', $new_yaml);

希望对你有帮助