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("rn",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;//开源代码phprm.com } } } return $sql; }