php 導入.sql文件到mysql數據庫
php教程 導入.sql文件到mysql教程數據庫教程
set_time_limit(0); //設置超時時間為0,表示一直執行。當php在safe mode模式下無效,此時可能會導致導入超時,此時需要分段導入
$db = new mysql($location['host'],$location['hostname'],$location['hostpass'],$location['table'],"utf8",$location['ztime']);
$fp = @fopen($sql, "r") or die("不能打開sql文件 $sql");//打開文件
while($sql=getnextsql()){
mysql_query($sql);
}
//echo "用戶數據導入完成!";
fclose($fp) or die("can't close file $file_name");//關閉文件//從文件中逐條取sql
function getnextsql() {
global $fp;
$sql="";
while ($line = @fgets($fp, 40960)) {
$line = trim($line);
//以下三句在高版本php中不需要,在部分低版本中也許需要修改
//$line = str_replace("\\","\",$line);
//$line = str_replace("'","'",$line);
//$line = str_replace("\r\n",chr(13).chr(10),$line);
//$line = stripcslashes($line);
if (strlen($line)>1) {
if ($line[0]=="-" && $line[1]=="-") {
continue;
}
}
$sql.=$line.chr(13).chr(10);
if (strlen($line)>0){
if ($line[strlen($line)-1]==";"){
break;
}
}
}
return $sql;
}
?>