将MySQL表行导出为单独的文件(特别是JSON)


Export MySQL table rows as individual files (specifically JSON) in one go

我有超过750个JSON文件,我需要从MySQL数据库表创建。

这是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值我认为。

如果我需要这样做,而且只需要做一次,我可能只需要在本地运行一个小php脚本。

假设您已经将此表作为一个数组(这里我称之为$wp_options),您可以使用fopen, fwritefclose来迭代它以制作文件。我还假定您希望文件具有'。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);
}  

以上是未经测试的,但我认为这将是有效的

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

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