ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
~~~ /** * 切分SQL文件成多个可以单独执行的sql语句 * @param $file string sql文件路径 * @param $tablePre string 表前缀 * @param string $charset 字符集 * @param string $defaultTablePre 默认表前缀 * @param string $defaultCharset 默认字符集 * @return array */ function cmf_split_sql($file, $tablePre, $charset = 'utf8mb4', $defaultTablePre = 'cmf_', $defaultCharset = 'utf8mb4') { if (file_exists($file)) { //读取SQL文件 $sql = file_get_contents($file); $sql = str_replace("\r", "\n", $sql); $sql = str_replace("BEGIN;\n", '', $sql);//兼容 navicat 导出的 insert 语句 $sql = str_replace("COMMIT;\n", '', $sql);//兼容 navicat 导出的 insert 语句 $sql = str_replace($defaultCharset, $charset, $sql); $sql = trim($sql); //替换表前缀 $sql = str_replace(" `{$defaultTablePre}", " `{$tablePre}", $sql); $sqls = explode(";\n", $sql); return $sqls; } return []; } ~~~