欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

php數(shù)據(jù)的讀取數(shù)據(jù)格式 php數(shù)據(jù)的讀取數(shù)據(jù)格式不對(duì)

PHP生成和獲取XML格式數(shù)據(jù)

在做數(shù)據(jù)接口時(shí) 我們通常要獲取第三方數(shù)據(jù)接口或者給第三方提供數(shù)據(jù)接口 而這些數(shù)據(jù)格式通常是以XML或者JSON格式傳輸 本文將介紹如何使用PHP生成XML格式數(shù)據(jù)供第三方調(diào)用以及如何獲取第三方提供的XML數(shù)據(jù)

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供安義網(wǎng)站建設(shè)、安義做網(wǎng)站、安義網(wǎng)站設(shè)計(jì)、安義網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、安義企業(yè)網(wǎng)站模板建站服務(wù),十載安義做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

生成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ù)庫(kù) 獲取數(shù)據(jù)

include_once ( connect php ) //連接數(shù)據(jù)庫(kù)

$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ù)測(cè)試

接著 建立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來(lái)處理與生成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ù)庫(kù) 而這里關(guān)鍵的一步是解析XML

PHP有很多中方法可以解析XML 其中PHP提供了內(nèi)置的XMLReader類可以循序地瀏覽過(guò)xml檔案的節(jié)點(diǎn) 你可以想像成游標(biāo)走過(guò)整份文件的節(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

php 獲取的數(shù)據(jù)格式無(wú)法使用

PHP 文件打開/讀取/讀取

PHP 文件

PHP 文件創(chuàng)建/寫入

在本節(jié)中,我們向您講解如何在服務(wù)器上打開、讀取以及關(guān)閉文件。

PHP Open File - fopen()

打開文件的更好的方法是通過(guò) fopen() 函數(shù)。此函數(shù)為您提供比 readfile() 函數(shù)更多的選項(xiàng)。

在課程中,我們將使用文本文件 "webdictionary.txt":

AJAX = Asynchronous JavaScript and XML

CSS = Cascading Style Sheets

HTML = Hyper Text Markup Language

PHP = PHP Hypertext Preprocessor

SQL = Structured Query Language

SVG = Scalable Vector Graphics

XML = EXtensible Markup Language

fopen() 的第一個(gè)參數(shù)包含被打開的文件名,第二個(gè)參數(shù)規(guī)定打開文件的模式。如果 fopen() 函數(shù)未能打開指定的文件,下面的例子會(huì)生成一段消息:

實(shí)例

?php

$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");echo fread($myfile,filesize("webdictionary.txt"));fclose($myfile);

?

運(yùn)行實(shí)例

提示:我們接下來(lái)將學(xué)習(xí) fread() 以及 fclose() 函數(shù)。

文件會(huì)以如下模式之一打開:

模式描述

r打開文件為只讀。文件指針在文件的開頭開始。

w打開文件為只寫。刪除文件的內(nèi)容或創(chuàng)建一個(gè)新的文件,如果它不存在。文件指針在文件的開頭開始。

a打開文件為只寫。文件中的現(xiàn)有數(shù)據(jù)會(huì)被保留。文件指針在文件結(jié)尾開始。創(chuàng)建新的文件,如果文件不存在。

x創(chuàng)建新文件為只寫。返回 FALSE 和錯(cuò)誤,如果文件已存在。

r+打開文件為讀/寫、文件指針在文件開頭開始。

w+打開文件為讀/寫。刪除文件內(nèi)容或創(chuàng)建新文件,如果它不存在。文件指針在文件開頭開始。

a+打開文件為讀/寫。文件中已有的數(shù)據(jù)會(huì)被保留。文件指針在文件結(jié)尾開始。創(chuàng)建新文件,如果它不存在。

x+創(chuàng)建新文件為讀/寫。返回 FALSE 和錯(cuò)誤,如果文件已存在。

PHP 讀取文件 - fread()

fread() 函數(shù)讀取打開的文件。

fread() 的第一個(gè)參數(shù)包含待讀取文件的文件名,第二個(gè)參數(shù)規(guī)定待讀取的最大字節(jié)數(shù)。

如下 PHP 代碼把 "webdictionary.txt" 文件讀至結(jié)尾:

fread($myfile,filesize("webdictionary.txt"));PHP 關(guān)閉文件 - fclose()

fclose() 函數(shù)用于關(guān)閉打開的文件。

注釋:用完文件后把它們?nèi)筷P(guān)閉是一個(gè)良好的編程習(xí)慣。您并不想打開的文件占用您的服務(wù)器資源。

fclose() 需要待關(guān)閉文件的名稱(或者存有文件名的變量):

?php

$myfile = fopen("webdictionary.txt", "r");// some code to be executed....

fclose($myfile);

?

PHP 讀取單行文件 - fgets()

fgets() 函數(shù)用于從文件讀取單行。

下例輸出 "webdictionary.txt" 文件的首行:

實(shí)例

?php

$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");echo fgets($myfile);

fclose($myfile);

?

運(yùn)行實(shí)例

注釋:調(diào)用 fgets() 函數(shù)之后,文件指針會(huì)移動(dòng)到下一行。

PHP 檢查 End-Of-File - feof()

feof() 函數(shù)檢查是否已到達(dá) "end-of-file" (EOF)。

feof() 對(duì)于遍歷未知長(zhǎng)度的數(shù)據(jù)很有用。

下例逐行讀取 "webdictionary.txt" 文件,直到 end-of-file:

實(shí)例

?php

$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");// 輸出單行直到 end-of-file

while(!feof($myfile)) {

echo fgets($myfile) . "br";

}

fclose($myfile);

?

運(yùn)行實(shí)例

PHP 讀取單字符 - fgetc()

fgetc() 函數(shù)用于從文件中讀取單個(gè)字符。

下例逐字符讀取 "webdictionary.txt" 文件,直到 end-of-file:

實(shí)例

?php

$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");// 輸出單字符直到 end-of-file

while(!feof($myfile)) {

echo fgetc($myfile);

}

fclose($myfile);

?

運(yùn)行實(shí)例

注釋:在調(diào)用 fgetc() 函數(shù)之后,文件指針會(huì)移動(dòng)到下一個(gè)字符。

PHP Filesystem 參考手冊(cè)

如需完整的 PHP 文件系統(tǒng)參考手冊(cè),請(qǐng)?jiān)L問(wèn) W3School 提供的 PHP Filesystem 參考手冊(cè)。

php使用什么模式統(tǒng)一數(shù)據(jù)格式

使用JSON模式統(tǒng)一數(shù)據(jù)格式:使用JSON模式統(tǒng)一數(shù)據(jù)格式,可以解決數(shù)據(jù)格式不一致的問(wèn)題,使得數(shù)據(jù)在不同語(yǔ)言之間可以交換

php如何讀取CSV大文件并且將其導(dǎo)入數(shù)據(jù)庫(kù)示例

思路:

讀取csv文件,每讀取一行數(shù)據(jù),就插入數(shù)據(jù)庫(kù)

示例

文件夾結(jié)構(gòu)

/

file.csv????//csv大文件,這里只模擬三行數(shù)據(jù),不考慮運(yùn)行效率(PS:csv文件格式很簡(jiǎn)單,文件一般較小,解析很快,運(yùn)行效率的瓶頸主要在寫入數(shù)據(jù)庫(kù)操作)

index.php????//php文件

file.csv

singi,20

lily,19

daming,23

index.php

/**

*?讀取csv文件,每讀取一行數(shù)據(jù),就插入數(shù)據(jù)庫(kù)

*/

//獲取數(shù)據(jù)庫(kù)實(shí)例

$dsn?=?'mysql:dbname=test;host=127.0.0.1';

$user?=?'root';

$password?=?'';

try?{

$db?=?new?PDO($dsn,?$user,?$password);

}?catch?(PDOException?$e)?{

echo?'Connection?failed:?'?.?$e-getMessage();

}

//讀取file.csv文件

if?(($handle?=?fopen("file.csv",?"r"))?!==?FALSE)?{

while?(($row?=?fgetcsv($handle,?1000,?","))?!==?FALSE)?{

//寫入數(shù)據(jù)庫(kù)

$sth?=?$db-prepare('insert?into?test?set?name=:name,age=:age');

$sth-bindParam(':name',$row[0],PDO::PARAM_STR,255);

$sth-bindParam(':age',$row[1],PDO::PARAM_INT);

$sth-execute();

}

fclose($handle);

}

數(shù)據(jù)表

CREATE?TABLE?`test`?(

`id`?INT(10)?UNSIGNED?NOT?NULL?AUTO_INCREMENT,

`name`?VARCHAR(255)?NULL?DEFAULT?''?COLLATE?'utf8mb4_bin',

`age`?INT(10)?NULL?DEFAULT?'0',

PRIMARY?KEY?(`id`)

)

COLLATE='utf8mb4_bin'

ENGINE=InnoDB;

運(yùn)行結(jié)束后,數(shù)據(jù)庫(kù)中會(huì)插入csv中的三行數(shù)據(jù)

網(wǎng)頁(yè)名稱:php數(shù)據(jù)的讀取數(shù)據(jù)格式 php數(shù)據(jù)的讀取數(shù)據(jù)格式不對(duì)
本文鏈接:http://chinadenli.net/article4/dogdioe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站軟件開發(fā)品牌網(wǎng)站設(shè)計(jì)App設(shè)計(jì)網(wǎng)站內(nèi)鏈服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)