?php
創(chuàng)新互聯(lián)公司專注于瀘水企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城系統(tǒng)網(wǎng)站開發(fā)。瀘水網(wǎng)站建設(shè)公司,為瀘水等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
//讀取數(shù)據(jù)庫我就不說了,從數(shù)據(jù)庫取出來就行了
#使用dom生成xml,注意生成的xml中會(huì)沒有空格。
$dom=new DOMDocument('1.0','utf-8');
$time = time();
$path="$time.xml"; // $path 為xml文件的存儲(chǔ)路徑。
$module=$dom-createElement('breakfast_menu');//創(chuàng)建一個(gè)節(jié)點(diǎn)
$dom-appendChild($module); //在指定元素節(jié)點(diǎn)的最后一個(gè)子節(jié)點(diǎn)之后添加節(jié)點(diǎn)
$food=$dom-createElement('food'); //外body
$module-appendChild($food);
$name=$dom-createElement('name'); //內(nèi)table
$name_value=$dom-createTextNode('測試數(shù)據(jù)1');
$name-appendChild($name_value);
$food-appendChild($name);
$price=$dom-createElement('price'); //內(nèi)table
$price_value=$dom-createTextNode('測試數(shù)據(jù)2');
$price-appendChild($price_value);
$food-appendChild($price);
$description=$dom-createElement('description'); //內(nèi)table
$description_value=$dom-createTextNode('測試數(shù)據(jù)3');
$description-appendChild($description_value);
$food-appendChild($description);
$calories=$dom-createElement('calories'); //內(nèi)table
$calories_value=$dom-createTextNode('測試數(shù)據(jù)4');
$calories-appendChild($calories_value);
$food-appendChild($calories);
$dom-saveXML();
$dom-save($path);
//var_dump($dom-save($path));exit;
if($dom-saveXML()){
echo "生成成功:".$dom-saveXML();
}else{
echo "生成失敗";
}
?
一般,有2種方法可以導(dǎo)出doc文檔:
第一種是使用com,并且作為php的一個(gè)擴(kuò)展庫安裝到服務(wù)器上,然后創(chuàng)建一個(gè)com,調(diào)用它的方法。安裝過office的服務(wù)器可以調(diào)用一個(gè)叫word.application的com,可以生成word文檔,不過這種方式我不推薦,因?yàn)閳?zhí)行效率比較低(我測試了一下,在執(zhí)行代碼的時(shí)候,服務(wù)器會(huì)真的去打開一個(gè)word客戶端)。理想的com應(yīng)該是沒有界面的,在后臺(tái)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,這樣效果會(huì)比較好,但是這些擴(kuò)展一般需要收費(fèi)。
第2種方法,就是用PHP將我們的doc文檔內(nèi)容直接寫入一個(gè)后綴為doc的文件中即可。使用這種方法不需要依賴第三方擴(kuò)展,而且執(zhí)行效率較高。
我的思路是,直接使用動(dòng)態(tài)的xml,讓flash讀取這個(gè)文檔,這樣就不用實(shí)時(shí)的去生成xml文件了。當(dāng)然,這個(gè)xml文件是.php格式的,所以你必須在flash中吧讀取的文件地址改成php的,就跟你寫一個(gè)php頁面一樣,不同的是這個(gè)php文件輸出的內(nèi)容是一個(gè)xml格式的文本。
比如你現(xiàn)在建立文件 xml.php
?php
echo "?xml version=\"1.0\" encoding=\"utf-8\"?
gallery
settings";
//若此處也有動(dòng)態(tài)信息 按需要進(jìn)行調(diào)用
echo"/settings
items";
//在此循環(huán)你的圖片數(shù)據(jù)
$data = ??
while( $data ) {
echo "item source=\"".$data['source']."\" description=\"".$data['description']."\" /";
}
echo '/items';
?
你做好程序以后,把數(shù)據(jù)庫導(dǎo)出成sql文件
1、連接數(shù)據(jù)庫
2、讀取這個(gè)sql文件里的sql語句,并執(zhí)行
3、生成一個(gè)數(shù)據(jù)庫連接參數(shù)的php文件
?php
$con?=?mysql_connect("localhost","peter","abc123");
if?(!$con)
{
die('Could?not?connect:?'?.?mysql_error());
}
if?(mysql_query("CREATE?DATABASE?my_db",$con))
{
echo?"Database?created";
}
else
{
echo?"Error?creating?database:?"?.?mysql_error();
}
mysql_close($con);
?
?php
class?ReadSql?{
//數(shù)據(jù)庫連接
protected?$connect?=?null;
//數(shù)據(jù)庫對象
protected?$db?=?null;
//sql文件
public?$sqlFile?=?"";
//sql語句集
public?$sqlArr?=?array();
public?function?__construct($host,?$user,?$pw,?$db_name)?{
$host?=?empty($host)???C("DB_HOST")?:?$host;
$user?=?empty($user)???C("DB_USER")?:?$user;
$pw?=?empty($pw)???C("DB_PWD")?:?$pw;
$db_name?=?empty($db_name)???C("DB_NAME")?:?$db_name;
//連接數(shù)據(jù)庫
$this-connect?=?mysql_connect($host,?$user,?$pw)?or?die("Could?not?connect:?"?.?mysql_error());
$this-db?=?mysql_select_db($db_name,?$this-connect)?or?die("Yon?can?not?select?the?table:"?.?mysql_error());
}
//導(dǎo)入sql文件
public?function?Import($url)?{
$this-sqlFile?=?file_get_contents($url);
if?(!$this-sqlFile)?{
exit("打開文件錯(cuò)誤");
}?else?{
$this-GetSqlArr();
if?($this-Runsql())?{
return?true;
}
}
}
//獲取sql語句數(shù)組
public?function?GetSqlArr()?{
//去除注釋
$str?=?$this-sqlFile;
$str?=?preg_replace('/--.*/i',?'',?$str);
$str?=?preg_replace('/\/\*.*\*\/(\;)?/i',?'',?$str);
//去除空格?創(chuàng)建數(shù)組
$str?=?explode(";\n",?$str);
foreach?($str?as?$v)?{
$v?=?trim($v);
if?(empty($v))?{
continue;
}?else?{
$this-sqlArr[]?=?$v;
}
}
}
//執(zhí)行sql文件
public?function?RunSql()?{
foreach?($this-sqlArr?as?$k?=?$v)?{
if?(!mysql_query($v))?{
exit("sql語句錯(cuò)誤:第"?.?$k?.?"行"?.?mysql_error());
}
}
return?true;
}
}
//范例:
header("Content-type:text/html;charset=utf-8");
$sql?=?new?ReadSql("localhost",?"root",?"",?"log_db");
$rst?=?$sql-Import("./log_db.sql");
if?($rst)?{
echo?"Success!";
}
?
名稱欄目:php執(zhí)行數(shù)據(jù)生成,php文檔生成
文章起源:http://jinyejixie.com/article44/dsecphe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、定制開發(fā)、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營銷推廣、微信小程序、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)