я не знаю где, кто и как собирается делать импорт, у меня давно написана функция импорта/экспорта для sql, при желании можно улучшить и переделать как надо, да и принцип понятен.
public function SaveTablesAsSQL($tables_array, $file_name) { if (is_array($tables_array)) { $sql_row_string = ""; foreach ($tables_array as $key => $table_name) { $q = $this->CreateQuery("select * from $table_name" if ($q->GetNumRows()<=0) continue;
потом разбить на строчки используя split по символам точка с запятой; при экспорте обычно команды разделяются именно точкой с запятой;
далее подключиться к серверу mysql через mysql_connect
далее последовательно выполнить все команды из файла через mysql_query
{
if (file_exists($file_name))
{
$sql_list = file_get_contents($file_name);
$sql_list_array = split("###",$sql_list);
foreach ($sql_list_array as $key=>$sql_query)
{
print "executing = ".$sql_query." ok!
";flush();
$this->Execute($sql_query);
}
} else print "file not found";
}
{
if (is_array($tables_array))
{
$sql_row_string = "";
foreach ($tables_array as $key => $table_name)
{
$q = $this->CreateQuery("select * from $table_name"
if ($q->GetNumRows()<=0) continue;
while ($row = $q->GetRow())
{
$sql_row_string .= utils::RowToInsertSQL($table_name,$row)."";
}
$sql_row_string .= "";
}
}
if (!file_exists("../export"
$f_handle = fopen("../export/".$file_name,"w"
fputs($f_handle, $sql_row_string, strlen($sql_row_string));
fclose($f_handle);
return $sql_row_string;
}