首先在根目录创建一个PHP文件,然后将以下代码粘贴进去,文件名自拟。

    1. <?php
    2. /**
    3. * 导出keywords表数据
    4. */
    5. require_once(dirname(__FILE__)."/dede/include/common.inc.php");
    6. $sql = "SELECT arc.id, arc.title, arc.description, arc.keywords, tp.typedir FROM `dede_archives` arc,`dede_arctype` tp WHERE arc.typeid = tp.id";
    7. $dsql->SetQuery($sql);
    8. $dsql->Execute();
    9. $list = [];
    10. while($row = $dsql->GetArray()){
    11. $list[] = $row;
    12. }
    13. // 下载
    14. set_time_limit(0);
    15. ini_set('memory_limit', '256M');
    16. //下载csv的文件名
    17. $fileName = 'dede_tdk.csv';
    18. //设置header头
    19. header('Content-Description: File Transfer');
    20. header('Content-Type: application/vnd.ms-excel');
    21. header('Content-Disposition: attachment; filename="' . $fileName . '"');
    22. header('Expires: 0');
    23. header('Cache-Control: must-revalidate');
    24. header('Pragma: public');
    25. //打开php数据输入缓冲区
    26. $fp = fopen('php://output', 'a');
    27. $heade = ['id', 'url', 'title', 'description', 'keywords'];
    28. //将数据编码转换成GBK格式
    29. mb_convert_variables('GBK', 'UTF-8', $heade);
    30. //将数据格式化为CSV格式并写入到output流中
    31. fputcsv($fp, $heade);
    32. //如果在csv中输出一个空行,向句柄中写入一个空数组即可实现
    33. foreach ($list as $value) {
    34. //将数据编码转换成GBK格式
    35. mb_convert_variables('GBK', 'UTF-8', $value);
    36. $data['id'] = $value['id'];
    37. $data['url'] = 'https://www.zxjpjmd.com' . $value['typedir'] . '/' . $value['id'] . '.html';
    38. $data['title'] = $value['title'];
    39. $data['description'] = $value['description'];
    40. $data['keywords'] = $value['keywords'];
    41. fputcsv($fp, $data);
    42. //将已经存储到csv中的变量数据销毁,释放内存
    43. unset($value);
    44. }
    45. //关闭句柄
    46. fclose($fp);