使用PHP脚本修改yaml文件

时间:2014-05-15 00:02:58

标签: php symfony yaml

我有一个带有以下数据的common.yml文件:

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文件中获取。问题是如何编辑这两个图像的src。我试图使用Symfony Yaml组件Dumper,但不知道如何使用它来更新我的文件的特定部分。

请帮助.....

1 个答案:

答案 0 :(得分:8)

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

例如,您可以访问“src”数据:

$yaml = Yaml::parse(file_get_contents($this->container->get('kernel')->getRootDir() .'/config/common.yml'));

$srcData = $yaml['main']['schred']['viral']['image1']['src'];

此处,您的数据可访问='http://i.imgur.com/nOptw.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);

希望这可以帮到你