真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

在做數(shù)據(jù)接口時 我們通常要獲取第三方數(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è)計、安義網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、安義企業(yè)網(wǎng)站模板建站服務(wù),十載安義做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(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ù)庫 獲取數(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 ]

}

這個時候 數(shù)據(jù)就保存在$arr中 你可以使用print_r打印下數(shù)據(jù)測試

接著 建立xml 循環(huán)數(shù)組 將數(shù)據(jù)寫入到xml對應(yīng)的節(jié)點中

$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格式請點擊這里看效果

?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ù)顯示或者寫入本地數(shù)據(jù)庫 而這里關(guān)鍵的一步是解析XML

PHP有很多中方法可以解析XML 其中PHP提供了內(nèi)置的XMLReader類可以循序地瀏覽過xml檔案的節(jié)點 你可以想像成游標走過整份文件的節(jié)點 并抓取需要的內(nèi)容 使用XMLReader是高效的 尤其是讀取非常大的xml數(shù)據(jù) 相對其他方法 使用XMLReader消耗內(nèi)存非常少

header( Content type:text/; Charset=utf )

$url = // helloweba /demo/importXML/createXML php ;

$reader = new XMLReader() ? //實例化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ù)格式無法使用

PHP 文件打開/讀取/讀取

PHP 文件

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

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

PHP Open File - fopen()

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

在課程中,我們將使用文本文件 "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() 的第一個參數(shù)包含被打開的文件名,第二個參數(shù)規(guī)定打開文件的模式。如果 fopen() 函數(shù)未能打開指定的文件,下面的例子會生成一段消息:

實例

?php

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

?

運行實例

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

文件會以如下模式之一打開:

模式描述

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

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

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

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

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

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

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

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

PHP 讀取文件 - fread()

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

fread() 的第一個參數(shù)包含待讀取文件的文件名,第二個參數(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)閉是一個良好的編程習(xí)慣。您并不想打開的文件占用您的服務(wù)器資源。

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

?php

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

fclose($myfile);

?

PHP 讀取單行文件 - fgets()

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

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

實例

?php

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

fclose($myfile);

?

運行實例

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

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

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

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

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

實例

?php

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

while(!feof($myfile)) {

echo fgets($myfile) . "br";

}

fclose($myfile);

?

運行實例

PHP 讀取單字符 - fgetc()

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

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

實例

?php

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

while(!feof($myfile)) {

echo fgetc($myfile);

}

fclose($myfile);

?

運行實例

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

PHP Filesystem 參考手冊

如需完整的 PHP 文件系統(tǒng)參考手冊,請訪問 W3School 提供的 PHP Filesystem 參考手冊。

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

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

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

思路:

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

示例

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

/

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

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

file.csv

singi,20

lily,19

daming,23

index.php

/**

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

*/

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

$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ù)庫

$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;

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


分享名稱:php數(shù)據(jù)的讀取數(shù)據(jù)格式 php數(shù)據(jù)的讀取數(shù)據(jù)格式不對
本文來源:http://weahome.cn/article/dogdioe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部