2
0

db_create.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. require_once "install_head.php";
  3. ?>
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. </head>
  8. <body>
  9. <h2>Create DB</h2>
  10. <p><a href="index.php">Home</a></p>
  11. <?php
  12. include "./_pdo.php";
  13. if (isset($_GET["from"]) == false) {
  14. ?>
  15. <form action="db_create.php" method="get">
  16. From: <input type="text" name="from"><br>
  17. To: <input type="text" name="to"><br>
  18. Res: <input type="text" name="res"><br>
  19. <input type="submit">
  20. </form>
  21. <?php
  22. return;
  23. }
  24. $from = $_GET["from"];
  25. $to = $_GET["to"];
  26. $res = $_GET["res"];
  27. $filelist = array();
  28. $fileNums = 0;
  29. $log = "";
  30. echo "<h2>$from - $to @ $res</h2>";
  31. if (($handle = fopen("filelist.csv", 'r')) !== false) {
  32. while (($filelist[$fileNums] = fgetcsv($handle, 0, ',')) !== false) {
  33. $fileNums++;
  34. }
  35. }
  36. if ($to == 0 || $to >= $fileNums) {
  37. $to = $fileNums - 1;
  38. }
  39. $FileName = $filelist[$from][1] . ".htm";
  40. $fileId = $filelist[$from][0];
  41. $fileId = $filelist[$from][0];
  42. $dirLog = _DIR_LOG_ . "/";
  43. $dirDb = "db/$res/";
  44. $inputFileName = $FileName;
  45. $outputFileNameHead = $filelist[$from][1];
  46. $bookId = $filelist[$from][2];
  47. $dirXmlBase = "xml/";
  48. $dirXml = $outputFileNameHead . "/";
  49. $xmlfile = $inputFileName;
  50. echo "doing:" . $xmlfile . "<br>";
  51. $log = $log . "$from,$FileName,open\r\n";
  52. $arrInserString = array();
  53. $db_file = $dirDb . $bookId . "_" . $res . ".db3";
  54. PDO_Connect("$db_file");
  55. switch ($res) {
  56. case "translate":
  57. $query = "CREATE TABLE 'data' ('id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , 'paragraph' INTEGER, 'language' TEXT, 'anchor' TEXT, 'text' TEXT, 'author' TEXT, 'editor' TEXT, 'revision' TEXT, 'edition' INTEGER, 'subver' INTEGER,'time' DATETIME DEFAULT CURRENT_TIMESTAMP)";
  58. break;
  59. case "note":
  60. $query = "CREATE TABLE 'data' ('id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , 'paragraph' INTEGER, 'language' TEXT, 'anchor' TEXT, 'text' TEXT, 'author' TEXT, 'editor' TEXT, 'revision' TEXT, 'edition' INTEGER, 'subver' INTEGER,'time' DATETIME DEFAULT CURRENT_TIMESTAMP)";
  61. break;
  62. }
  63. $stmt = @PDO_Execute($query);
  64. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  65. $error = PDO_ErrorInfo();
  66. print_r($error[2]);
  67. exit;
  68. }
  69. $query = "CREATE INDEX 'search' ON \"data\" (\"paragraph\",\"language\",\"author\", \"editor\", \"revision\", \"edition\", \"subver\" , \"time\" )";
  70. $stmt = @PDO_Execute($query);
  71. if (!$stmt || ($stmt && $stmt->errorCode() != 0)) {
  72. $error = PDO_ErrorInfo();
  73. print_r($error[2]);
  74. $log = $log . "$from, $FileName, error, $error[2] \r\n";
  75. }
  76. $myLogFile = fopen($dirLog . "create_db.log", "a");
  77. fwrite($myLogFile, $log);
  78. fclose($myLogFile);
  79. ?>
  80. <?php
  81. if ($from == $to) {
  82. echo "<h2>齐活!功德无量!all done!</h2>";
  83. } else {
  84. echo "<script>";
  85. echo "window.location.assign(\"db_create.php?res=" . $res . "&from=" . ($from + 1) . "&to=" . $to . "\")";
  86. echo "</script>";
  87. echo "正在载入:" . ($from + 1) . "——" . $filelist[$from + 1][0];
  88. }
  89. ?>
  90. </body>
  91. </html>