将MySQL表行作为单个文件(特别是JSON)一次导出

时间:2015-05-29 17:53:11

标签: php mysql json wordpress

我需要从MySQL数据库表创建750多个JSON文件。

这是WordPress“wp_options”表,但这是一个MySQL问题。

wp_options表具有以下属性。

option_id, option_name, option_value, autoload

option_name ”将成为JSON文件名。

如果我“必须”手动重命名每个文件名,我很好。

option_value ”将成为JSON数据。

有没有办法可以更高效地执行此操作,而不是为每行创建一个空的JSON文件,然后将数据库option_value复制到JSON文件?

我主要担心的是750个文件让我有点厌倦我会错过一些东西或加倍处理,这些信息必须准确。

注意:我已经阅读了这篇论文(我能找到的最接近的文章)@ http://goo.gl/RnV5cf。但是,考虑到我认为的Wordpress wp_options值,它似乎没有按预期工作。

2 个答案:

答案 0 :(得分:0)

如果我需要这样做,并且只需要执行一次,我可能只是在本地运行一个小的PHP脚本。

假设您已将此表格作为数组(此处我称之为$wp_options),您可以使用fopenfwritefclose对其进行迭代。制作你的文件。我还假设您希望文件具有'.json'扩展名,但显然您可以将其删除。

foreach ($wp_options as $wpo) {
    $newFile = fopen($wpo['option_name'].'.json', 'w'); // w=write mode
    fwrite($newFile, json_encode($wpo['option_value']));
    fclose($newFile);
}  

以上是未经测试的,但我认为这样可行。

答案 1 :(得分:0)

听起来你只需要一个本地脚本:

<?php

// ...
foreach ($wp_options as $wp_option)
{
    $fileName = __DIR__ . '/' . $wp_option['option_name'] . '.json';
    file_put_contents($fileName, json_encode($wp_option['option_value']));
}