· 10 years ago · Feb 14, 2016, 07:27 PM
1<?php
2
3 date_default_timezone_set('Europe/Zagreb');
4 set_time_limit(0);
5
6 $username = "root";
7 $pass = "vagrant";
8 $ip = "127.0.0.1";
9 $dbname = "dpd";
10
11 $mysqli = new mysqli($ip, $username, $pass, $dbname);
12 if ($mysqli->connect_errno) {
13 printf("Connect failed: %s\n", $mysqli->connect_error);
14 exit();
15 }
16
17 $filename = 'test.txt';
18 $file = fopen($filename, "r");
19
20 $skip = 0;
21 $linenr = 0;
22 $colnr = 0;
23 $i = 0;
24 $tables = array();
25 $columns = array();
26 $data = array();
27 $temp = array();
28
29 if($file){
30 while(($line = fgets($file)) !== false){
31 if(substr($line, 0, 7) == "#DEFINE"){
32 $temp = explode(";", $line);
33 //$tableName= $temp[2];
34 //$tables[$tableName] = array();
35 array_push($tables, $temp[2]);
36 $columns[$linenr-$skip] = array();
37 $i = $skip;
38 while($i<count($temp)){
39 if(!empty(trim($temp[$i])))
40 array_push($columns[$linenr-$skip], $temp[$i]);
41 //$tables[$tableName][$temp[$i]] = null;
42 $i++;
43 }
44 $colnr++;
45 }else{
46 if($linenr > $skip){
47 $temp = explode(";", $line);
48 $data[$linenr-$skip-$colnr] = array();
49 $i=0;
50 while($i<count($temp)){
51 if($temp[$i] != "\r\n")
52 array_push($data[$linenr-$skip-$colnr], $temp[$i]);
53 $i++;
54 }
55 }else{
56 $skip++;
57 }
58 }
59 $linenr++;
60 echo "<html><body>";
61 echo $line.'</br>';
62 }
63
64 $query = "";
65 foreach($tables as $table => $tname){
66 $query = "CREATE TABLE IF NOT EXISTS ".$tname." (";
67 $query .= "id INT AUTO_INCREMENT PRIMARY KEY, ";
68 foreach($columns[$table] as $column => $cname){
69 $query .= $cname." VARCHAR(16), ";
70 }
71 $query = substr($query, 0, -2);
72 $query .= ");";
73 //echo $query;
74 if($mysqli->query($query) === TRUE) {
75 printf("Table ".$tname." successfully created.</br>");
76 }else{
77 printf("Table ".$tname." creation failed.</br>");
78 }
79 $query = "INSERT INTO ".$tname." VALUES(";
80 $query .= "null, ";
81 foreach($data[$table] as $index => $value){
82 $query .= "'{$value}', ";
83 }
84 $query = substr($query, 0, -2);
85 $query .= ");";
86 //echo $query;
87 if($mysqli->query($query) === TRUE) {
88 printf("Row successfully created.</br>");
89 }else{
90 printf("Row creation failed.</br>");
91 }
92 }
93
94 fclose($file);
95 }else{
96 echo "Unable to open file!";
97 }
98
99 //print_r($tables);
100 //echo "</br>";
101 //print_r($columns);
102 //echo "</br>";
103 //print_r($data);
104 //echo "</body></html>";
105
106 $mysqli->close();
107 //echo "END";
108
109?>