IndexController.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <?php
  2. namespace App\Home\Controllers;
  3. use Storage;
  4. use App\Http\Controllers\Controller;
  5. use App\Model\Question;
  6. use App\Model\Option;
  7. class IndexController extends Controller
  8. {
  9. public function importTimu()
  10. {
  11. set_time_limit(0);
  12. $txt = Storage::get('1.txt');
  13. $txt_arr = explode("\n", $txt);
  14. foreach ($txt_arr as $k => $val) {
  15. $q_a = explode('?', $val);
  16. $str1 = preg_replace('/^\d/i','',$q_a[0], 1);
  17. $str2 = preg_replace('/^\d/i','',$str1, 1);
  18. $title = preg_replace('/^\d/i','',$str2, 1);
  19. $question_id = Question::insertGetId([
  20. "title" => $title . "?",
  21. "is_released" => 1,
  22. "created_at" => date('Y-m-d H:i:s'),
  23. "updated_at" => date('Y-m-d H:i:s'),
  24. ]);
  25. $optiion = mb_substr($q_a[1], 0, -4);
  26. //答案
  27. $answer = mb_substr($q_a[1], -4);
  28. $answer = mb_substr($answer, 1,1);
  29. // echo $optiion;
  30. // echo mb_strpos($optiion, 'B');
  31. $o_answer = 0;
  32. if(mb_strpos($optiion, 'A')){
  33. $optiion_A = mb_substr($optiion, mb_strpos($optiion, 'A') + 1, mb_strpos($optiion, 'B') - mb_strpos($optiion, 'A') - 1);
  34. }else{
  35. $optiion_A = mb_substr($optiion, 0 ,mb_strpos($optiion, 'B') - 1);
  36. }
  37. if($answer == 'A'){
  38. $o_answer = 1;
  39. }
  40. Option::insert([
  41. "title" => $optiion_A,
  42. "is_answer" => $o_answer,
  43. "question_id" => $question_id,
  44. "created_at" => date('Y-m-d H:i:s'),
  45. "updated_at" => date('Y-m-d H:i:s'),
  46. ]);
  47. $o_answer = 0;
  48. if(mb_strpos($optiion, 'C')){
  49. $option_B = mb_substr($optiion, mb_strpos($optiion, 'B') + 1, mb_strpos($optiion, 'C') - mb_strpos($optiion, 'B') - 1);
  50. if($answer == 'B'){
  51. $o_answer = 1;
  52. }
  53. Option::insert([
  54. "title" => $option_B,
  55. "is_answer" => $o_answer,
  56. "question_id" => $question_id,
  57. "created_at" => date('Y-m-d H:i:s'),
  58. "updated_at" => date('Y-m-d H:i:s'),
  59. ]);
  60. $o_answer = 0;
  61. }elseif(mb_strpos($optiion, 'B')){
  62. echo $option_B = mb_substr($optiion, mb_strpos($optiion, 'B') + 1);
  63. if($answer == 'B'){
  64. $o_answer = 1;
  65. }
  66. Option::insert([
  67. "title" => $option_B,
  68. "is_answer" => $o_answer,
  69. "question_id" => $question_id,
  70. "created_at" => date('Y-m-d H:i:s'),
  71. "updated_at" => date('Y-m-d H:i:s'),
  72. ]);
  73. $o_answer = 0;
  74. }
  75. if(mb_strpos($optiion, 'D')){
  76. $option_C = mb_substr($optiion, mb_strpos($optiion, 'C') + 1, mb_strpos($optiion, 'D') - mb_strpos($optiion, 'C') - 1);
  77. if($answer == 'C'){
  78. $o_answer = 1;
  79. }
  80. Option::insert([
  81. "title" => $option_C,
  82. "is_answer" => $o_answer,
  83. "question_id" => $question_id,
  84. "created_at" => date('Y-m-d H:i:s'),
  85. "updated_at" => date('Y-m-d H:i:s'),
  86. ]);
  87. $o_answer = 0;
  88. }elseif(mb_strpos($optiion, 'C')){
  89. echo $option_C = mb_substr($optiion, mb_strpos($optiion, 'C') + 1);
  90. if($answer == 'C'){
  91. $o_answer = 1;
  92. }
  93. Option::insert([
  94. "title" => $option_C,
  95. "is_answer" => $o_answer,
  96. "question_id" => $question_id,
  97. "created_at" => date('Y-m-d H:i:s'),
  98. "updated_at" => date('Y-m-d H:i:s'),
  99. ]);
  100. $o_answer = 0;
  101. }
  102. if(mb_strpos($optiion, 'E')){
  103. $option_D = mb_substr($optiion, mb_strpos($optiion, 'D') + 1, mb_strpos($optiion, 'E') - mb_strpos($optiion, 'D') - 1);
  104. if($answer == 'B'){
  105. $o_answer = 1;
  106. }
  107. Option::insert([
  108. "title" => $option_D,
  109. "is_answer" => $o_answer,
  110. "question_id" => $question_id,
  111. "created_at" => date('Y-m-d H:i:s'),
  112. "updated_at" => date('Y-m-d H:i:s'),
  113. ]);
  114. $o_answer = 0;
  115. }elseif(mb_strpos($optiion, 'D')){
  116. $option_D = mb_substr($optiion, mb_strpos($optiion, 'D') + 1);
  117. if($answer == 'D'){
  118. $o_answer = 1;
  119. }
  120. Option::insert([
  121. "title" => $option_D,
  122. "is_answer" => $o_answer,
  123. "question_id" => $question_id,
  124. "created_at" => date('Y-m-d H:i:s'),
  125. "updated_at" => date('Y-m-d H:i:s'),
  126. ]);
  127. $o_answer = 0;
  128. }
  129. }
  130. }
  131. }