风卷残云
中级会员
 
老会员
UID 63269
精华
0
积分 367
帖子 381
金钱 367 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2005-2-19 来自 江苏
状态 离线
|
[推荐阅读] 【关于正则替换】!!!各位老大帮忙!!!
<?php class parse { var $file;
function parse($file) { $this->setFile($file); //$this->startParsing(); }
/** * @purpose : Sets filename to be parsed * @params $file * @return none */ function setFile($file) { if (file_exists($file)) { $this->file = $file; } else { die('名称为: '.$file.' 的SQL文件不存在!'); }
}
/** * @purpose : Sets filename to be parsed * @params $file * @return none */ function getFileContents() { $file = $this->getFile(); return file_get_contents($file); }
/** * @purpose : Gets filename to be parsed * @params none * @return filename */
function getFile() { return $this->file; }
/** * @purpose : Parses SQL file * @params none * @return none */
function startParsing() { $this->i ++; echo $this->i; echo "<br>";
$file = $this->getFile();
// Getting the SQL file content $content = $this->getFileContents();
// Processing the SQL file content $file_content = explode("n",$content);
$query = "";
// Parsing the SQL file content foreach($file_content as $sql_line) { if(trim($sql_line) != "" && strpos($sql_line, "--") === false) { $query .= $sql_line; // Checking whether the line is a valid statement if(preg_match("/(.*);/", $sql_line)) { $query = substr($query, 0, strlen($query)-1); //Executing the parsed string, returns the error code in failure $result = mysql_query($query)or die(mysql_error()); $query = ""; } } } //End of foreach
return true; } //End of function
} //End of class
//连接数据库,改成自己的 mysql_connect("localhost","root","4321") or die('Cant Connect...'); mysql_select_db("free") or die('DB Connection Problem...');;
//data.sql,要运行的SQL文件 $parseObj = new parse('data.sql');
if ('start' == $_GET['start']) { $res = $parseObj->startParsing();
if($res) { rename($parseObj->getFile(), $parseObj->getFile().'_'.date('Y-m-d H-i-s')); echo "<b>Query Executed Successfully.</b>"; } } else { echo '<pre>'; print_r($parseObj->getFileContents()); echo '</pre>'; echo '<a href="?start=start">点击运行SQL语句</a>'; }
?>
|
|