- 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;//开源代码Vevb.com
- }
- }
- }
- return $sql;
- }
新闻热点
疑难解答