1、如果你用過smarty模板引擎、MVC類似框架如tp,那么你自己寫一個(gè)框架噢!
成都創(chuàng)新互聯(lián)公司專注于田東企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,成都做商城網(wǎng)站。田東網(wǎng)站建設(shè)公司,為田東等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
2、你要對(duì)php的繼承實(shí)現(xiàn)以及其中的小知識(shí)點(diǎn)熟知;
3、先列出你的框架目錄,什么地方放什么,然后寫你的配置文件
4、用到的高頻函數(shù)有:require 、 require_once 、 file_exites等!
如:sybase_connect連上數(shù)據(jù)庫。
語法: int sybase_connect(string [servername], string [username], string [password]);
返回值: 整數(shù)函數(shù)種類: 數(shù)據(jù)庫功能 本函數(shù)用來打開與 Sybase 數(shù)據(jù)庫的連接。
參數(shù) servername 為欲連上的數(shù)據(jù)庫服務(wù)器名稱。
參數(shù) username 及 password 可省略,分別為連接使用的帳號(hào)及密碼。
使用本函數(shù)需注意早點(diǎn)關(guān)閉數(shù)據(jù)庫,以減少系統(tǒng)的負(fù)擔(dān)。
連接成功則返回?cái)?shù)據(jù)庫的連接代號(hào),失敗返回 false 值。
?php
//讀取數(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 "生成失敗";
}
?
php數(shù)組格式:
Array to XML:
通過使用PHP的擴(kuò)展SimpleXML,我們將uses_array轉(zhuǎn)換為xml格式。
保存成功的XML文件:
The users.xml file contains the following xml.
附注:
Insert XML Into Databse
If you want to save the XML into the database, then replace the $xml_file variable line with the following code line. Now you can insert $xml_file variable into the database.
可以使用php里的dom,如下:
$xmlStr=[文件位置];
$dom
=
new
DOMDocument('1.0');
$dom
-loadXML($xmlStr);
//根
$vogue=$dom-createElement('vogue');
$dom-appendChild($vogue);
//第一級(jí)子目錄
$level0=$dom-createElement('level0');
//第一級(jí)子目錄的屬性
$attr=$dom-createAttribute('parentTypeID');
$attr-appendChild($dom-createTextNode('-1'));
........
//保存
$dom-saveXML($xmlStr);
但是我更推薦使用print來打印后輸入文件。
因?yàn)閐om的輸出無法分行,樣例如下:
?php
$books
=
array();
$books
[]
=
array(
'title'
=
'PHP
Hacks',
'author'
=
'Jack
Herrington',
'publisher'
=
"O'Reilly"
);
$books
[]
=
array(
'title'
=
'Podcasting
Hacks',
'author'
=
'Jack
Herrington',
'publisher'
=
"O'Reilly"
);
?
books
?php
foreach(
$books
as
$book
)
{
?
book
title?php
echo(
$book['title']
);
?/title
author?php
echo(
$book['author']
);
?
/author
publisher?php
echo(
$book['publisher']
);
?
/publisher
/book
?php
}
?
/books
在做數(shù)據(jù)接口時(shí) 我們通常要獲取第三方數(shù)據(jù)接口或者給第三方提供數(shù)據(jù)接口 而這些數(shù)據(jù)格式通常是以XML或者JSON格式傳輸 本文將介紹如何使用PHP生成XML格式數(shù)據(jù)供第三方調(diào)用以及如何獲取第三方提供的XML數(shù)據(jù)
生成XML格式數(shù)據(jù)
我們假設(shè)系統(tǒng)中有一張學(xué)生信息表student 需要提供給第三方調(diào)用 并有id name sex age分別記錄學(xué)生的姓名 性別 年齡等信息
CREATE TABLE `student` (
`id` int( ) NOT NULL auto_increment
`name` varchar( ) NOT NULL
`sex` varchar( ) NOT NULL
`age` *** allint( ) NOT NULL default
PRIMARY KEY? (`id`)
) ENGINE=MyISAM? DEFAULT CHARSET=utf ;
首先 建立createXML php文件 先連接數(shù)據(jù)庫 獲取數(shù)據(jù)
include_once ( connect php ) //連接數(shù)據(jù)庫
$sql = select * from student ;
$result = mysql_query($sql) or die( Invalid query: mysql_error())
while ($row = mysql_fetch_array($result)) {
$arr[] = array(
name = $row[ name ]
sex = $row[ sex ]
age = $row[ age ]
)
}
這個(gè)時(shí)候 數(shù)據(jù)就保存在$arr中 你可以使用print_r打印下數(shù)據(jù)測試
接著 建立xml 循環(huán)數(shù)組 將數(shù)據(jù)寫入到xml對(duì)應(yīng)的節(jié)點(diǎn)中
$doc = new DOMDocument( utf ) ? // 聲明版本和編碼
$doc formatOutput = true;
$r = $doc createElement( root )
$doc appendChild($r)
foreach ($arr as $dat) {
$b = $doc createElement( data )
$name = $doc createElement( name )
$name appendChild($doc createTextNode($dat[ name ]))
$b appendChild($name)
$sex = $doc createElement( sex )
$sex appendChild($doc createTextNode($dat[ sex ]))
$b appendChild($sex)
$age = $doc createElement( age )
$age appendChild($doc createTextNode($dat[ age ]))
$b appendChild($age)
$r appendChild($b)
}
echo $doc saveXML()
我們調(diào)用了PHP內(nèi)置的類DOMDocument來處理與生成xml 最終生成的xml格式請(qǐng)點(diǎn)擊這里看效果
?xml version= encoding= utf ?
root
data
name李王皓/name
sex男/sex
age /age
/data
…
/root
獲取XML格式數(shù)據(jù)
現(xiàn)在我們假設(shè)要從第三方獲取學(xué)生信息 數(shù)據(jù)格式是XML 我們需要使用PHP解析XML 然后將解析后的數(shù)據(jù)顯示或者寫入本地?cái)?shù)據(jù)庫 而這里關(guān)鍵的一步是解析XML
PHP有很多中方法可以解析XML 其中PHP提供了內(nèi)置的XMLReader類可以循序地瀏覽過xml檔案的節(jié)點(diǎn) 你可以想像成游標(biāo)走過整份文件的節(jié)點(diǎn) 并抓取需要的內(nèi)容 使用XMLReader是高效的 尤其是讀取非常大的xml數(shù)據(jù) 相對(duì)其他方法 使用XMLReader消耗內(nèi)存非常少
header( Content type:text/; Charset=utf )
$url = // helloweba /demo/importXML/createXML php ;
$reader = new XMLReader() ? //實(shí)例化XMLReader
$reader open($url) //獲取xml
$i= ;
while ($reader read()) {
if ($reader nodeType == XMLReader::TEXT) { //判斷node類型
$m = $i% ;
if($m== )
$name = $reader value;? //讀取node值
if($m== )
$sex = $reader value;
if($m== ){
$age = $reader value;
$arr[] = array(
name = $name
sex = $sex
age = $age
)
}
$i++;
}
}
//print_r($arr)
lishixinzhi/Article/program/PHP/201311/21636
我的思路是,直接使用動(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';
?