$directory_arr = scandir($path);
unset($directory_arr[0]);//删除 .
unset($directory_arr[1]);//删除 ..
$directory_arr = array_values($directory_arr);//重置index
for ($j=0;$j<count($directory_arr);$j++){
$f = fopen($path.'/'.$directory_arr[$j],'r');
$rows = [];
while (!feof($f)){
$rows[] = fgets($f);
}
fclose($f);
preg_match('/\."(.+)"/', $rows[1], $matches);
$table_name = $matches[1];
$cols = [];
for ($i = 2 ; count($rows)>$i ; $i++){
$row = trim($rows[$i]," \t\n\r\0\x0B");
if (empty($row)){
continue;
}
preg_match('/"(.+)"/', $row, $matches);
$col = $matches[1];
$row = preg_replace('/"/', '`', $row);
if ($row[strlen($row)-1] !== ','){
$row = substr($row, 0, -1);
$cols[$col] = $row;
break;
}
$row = substr($row, 0, -1);
$cols[$col] = $row;
}
for ($i = 0 ; count($rows)>$i ; $i++){
$row = trim($rows[$i]," \t\n\r\0\x0B");
if (empty($row)){
continue;
}
if (substr($row,0,17) === 'COMMENT ON COLUMN'){
preg_match('/\.".+"\."(.+)" IS/', $row, $matches);
$col = $matches[1];
preg_match('/IS \'(.+)\'/', $row, $matches);
$comment = $matches[1];
$cols[$col] = $cols[$col].' COMMENT \''.$comment.'\'';
}
}
$key = '';
for ($i = 0;$i<count($rows);$i++){
if (substr($rows[$i],0,11) === 'ALTER TABLE'){
preg_match('/\"(.+)\"/', $rows[$i+2], $matches);
$key = $matches[1];
}
}
$cols['key'] = "PRIMARY KEY (`".$key."`) USING BTREE";
$cols['index'] = "INDEX `REPORTID`(`REPORTID`) USING BTREE";
$sql = 'create table `'.$table_name.'` ('.implode(',',array_values($cols)).' ) ENGINE = MyISAM';
if ($link->query($sql) === TRUE) {
printf("Table myCity successfully created.\n");
}else{
printf($directory_arr[$j].' False'."\n");
}
}