導航:首頁 > 編程語言 > php讀寫文件類

php讀寫文件類

發布時間:2023-03-20 21:44:35

php如何讀取某目錄下的所有同類型文件

PHP的glob() 函數返回匹配指定模式的文件名或目錄。

該函數返回一個包含有匹配文件 / 目錄的數組。如果出錯返回 false。

語法

glob(pattern,flags)

參數

描述

file
必需。規定檢索模式。


size
可選。規定特殊的設定。


GLOB_MARK - 在每個返回的項目中加一個斜線

GLOB_NOSORT - 按照文件在目錄中出現的原始順序返回(不排序)

GLOB_NOCHECK - 如果沒有文件匹配則返回用於搜索的模式

GLOB_NOESCAPE - 反斜線不轉義元字元

GLOB_BRACE - 擴充 {a,b,c} 來匹配 'a','b' 或 'c'

GLOB_ONLYDIR - 僅返回與模式匹配的目錄項

GLOB_ERR - 停止並讀取錯誤信息(比如說不可讀的目錄),默認的情況下忽略所有錯誤


注釋:GLOB_ERR 是 PHP 5.1 添加的。

例子 1

<?php
$a=glob("*.txt");
print_r(count($a));
?>


㈡ PHP讀寫XML文件技巧

常用 如下 幾行

header("content type:text/; charset=utf "); //指定PHP使用UTF 編碼 $xml = simplexml_load_file("example xml"); //讀取xml文件 $newxml = $xml >雀明廳asXML(); //標准化$xml $fp = fopen("newxml xml" "w"); //新建xml文件 fwrite($fp $newxml); //寫入槐搏 xml文件 fclose($fp);

PHP可以方便的生成和讀取XML文件 PHP主要通過DOMDocument DOMElement和DOMNodeList來完成XML的讀取與寫入操作的 下面就簡要說明下如何使用這些類

一.生成XML文件 對於一個如下XML文件

[] <?xml version=" " encoding="UTF "?> <article> <title>PHP訪問MySql資料庫 初級篇</title> <link> </article> <?xml version=" " encoding="UTF "?> <article> <title>PHP訪問MySql資料庫 初級篇</title> <link> </article> 我們來看看如何用PHP來生成

首先new一個DOMDocument對象並設置編碼格式

$dom = newDOMDocument( UTF );

$dom >formatOutput= true;

再創建<article>結點和<title>結點

$rootelement =$dom >createElement("article");

$title =$dom >createElement("title" "PHP訪問MySql資料庫 初級篇");

然後創建帶文本內容的<link>結點

$link =$dom >createElement("link" "

也可以先生成<link>結點再為其添加文本內容

$link = $dom >createElement("link");

$linktext =$dom >createTextNode( );

$link >appendChild($linktext);

然後將<title>和<link>結點加入到<article>結點中去

$rootelement >appendChild($title);

$rootelement >appendChild($link);

最後將<article>結點加入到DOMDocument對象中

$dom >appendChild($rootelement);

這樣一個完整的XML就生成完畢了 再整出整個XML

echo $dom >saveXML() ;

saveXML()也可以只輸入部分XML文本 如echo $dom >saveXML($link);就只會輸出<link>結點 <link>

下面再給出一個完整的PHP中數據內容輸出到XML文件的例子頃隱 該例子會對將一個PHP數組輸出到XML文件中

[php] <?php //將數組輸出到XML文件中 // by MoreWindows( $article_array = array( "第一篇" => array( "title"=>"PHP訪問MySql資料庫 初級篇" "link"=>" ) "第二篇" => array( "title"=>"PHP訪問MySql資料庫 中級篇 Smarty技術" "link"=>" ) "第三篇" => array( "title"=>"PHP訪問MySql資料庫 高級篇 AJAX技術" "link"=>" ) ); $dom = new DOMDocument( UTF ); $dom >formatOutput = true; $rootelement = $dom >createElement("MoreWindows"); foreach ($article_array as $key=>$value) { $article = $dom >createElement("article" $key); $title = $dom >createElement("title" $value[ title ]); $link = $dom >createElement("link" $value[ link ]); $article >appendChild($title); $article >appendChild($link); $rootelement >appendChild($article);

} $dom >appendChild($rootelement); $filename = "D:test xml"; echo XML文件大小 $dom >save($filename) 位元組 ; ?> <?php //將數組輸出到XML文件中 // by MoreWindows( $article_array = array( "第一篇" => array( "title"=>"PHP訪問MySql資料庫 初級篇" "link"=>" ) "第二篇" => array( "title"=>"PHP訪問MySql資料庫 中級篇 Smarty技術" "link"=>" ) "第三篇" => array( "title"=>"PHP訪問MySql資料庫 高級篇 AJAX技術" "link"=>" ) ); $dom = new DOMDocument( UTF ); $dom >formatOutput = true; $rootelement = $dom >createElement("MoreWindows"); foreach ($article_array as $key=>$value) { $article = $dom >createElement("article" $key); $title = $dom >createElement("title" $value[ title ]); $link = $dom >createElement("link" $value[ link ]); $article >appendChild($title); $article >appendChild($link); $rootelement >appendChild($article); } $dom >appendChild($rootelement); $filename = "D:test xml"; echo XML文件大小 $dom >save($filename) 位元組 ; ?> 運行該PHP會在D盤上生成test xml文件(Win + XAMPP + IE 測試通過)

二.讀取XML文件 以讀取前文中生成的D:test xml為例

[php] <?php //讀取XML文件 // by MoreWindows( $filename = "D:test xml"; $article_array = array(); $dom = new DOMDocument( UTF ); $dom >load($filename); //得到<article>結點 $articles = $dom >getElementsByTagName("article"); echo <article> 結點個數 $articles >length; foreach ($articles as $article) { $id = $article >getElementsByTagName("id") >item( ) >nodeValue; $title = $article >getElementsByTagName("title") >item( ) >nodeValue; $link = $article >getElementsByTagName("link") >item( ) >nodeValue; $article_array[$id] = array( title =>$title link =>$link); } //輸出結果 echo "<pre>"; var_mp($article_array); echo "</pre>"; ?> <?php //讀取XML文件 // by MoreWindows( $filename = "D:test xml"; $article_array = array();

$dom = new DOMDocument( UTF ); $dom >load($filename);

//得到<article>結點 $articles = $dom >getElementsByTagName("article"); echo <article> 結點個數 $articles >length; foreach ($articles as $article) { $id = $article >getElementsByTagName("id") >item( ) >nodeValue; $title = $article >getElementsByTagName("title") >item( ) >nodeValue; $link = $article >getElementsByTagName("link") >item( ) >nodeValue; $article_array[$id] = array( title =>$title link =>$link); }

lishixin/Article/program/PHP/201311/20909

㈢ php 讀寫文件和資料庫哪個快

1、直接讀文件相比資料庫查詢效率更勝一籌,而且文中還沒算上連接和斷開的時間。

2、一次讀取的內容越大,直接讀文件的優勢會越明顯(讀文件時間都是小幅增長,這跟文件存儲的連續性和簇大小等有關系),這個結果恰恰跟天緣預料的相反,說明MYSQL對更大文件讀取可能又附加了某些操作(兩次時間增長了近30%),如果只是單純的廳枝或賦值轉換應該是差異偏小才對。

3、寫文件和INSERT幾乎不用測試就可以推測出,資料庫效率只會更差。

4、很小的配置文件如果不需要使用到扮伍資料庫特性,更加適合放到獨立文件里存取,無需單獨創建數據表或記錄,很大的文件比如圖片、音樂等採用文件存儲更為方便,只把路徑或縮略圖等索引信息放到資料庫里更合搭配理一些。

5、PHP上如果只是讀文件,file_get_contents比fopen、fclose更有效率,不包括判斷存在這個函數時間會少3秒左右。

6、fetch_row和fetch_object應該是從fetch_array轉換而來的,我沒看過PHP的源碼,單從執行上就可以說明fetch_array效率更高,這跟網上的說法似乎相反。

㈣ 關於PHP讀寫文件

相關
php函數

fopen()打開文件。
格式如:fopen("文件路徑","r")。
fopen()函數有參數第一個參數要指明文件,第二個參數可以是r,w等,讀文件時就可以是r,寫文件時可以是w。
fwrite()和
fputs()寫文件。
fclose()
關閉文件

fgets()讀取記錄。最常用的是以上這些函數。

㈤ B.php中讀取文件內容的幾種方法

php讀取文件內容:
—–第一種方法—–fread()——–
<?php$file_path= "test.txt";if(file_exists($file_path)){$fp= fopen($file_path,"r");$str= fread($fp,filesize($file_path));//指定讀取大小,這里把整個文件內容讀取出來echo $str = str_replace("\r\n","<br
/>",$str);

}?>123456789101112131415161718

——–第二種方法————
<?php$file_path= "test.txt";if(file_exists($file_path)){$str= file_get_contents($file_path);//將整個文件內容讀入到一個字元串中$str= str_replace("\r\n","<br
/>",$str);echo$str;

}?>
-----第三種方法------------<?php$file_path= "test.txt";if(file_exists($file_path)){$fp= fopen($file_path,"r");$str= "";$buffer= 1024;//每次讀取
1024 位元組while(!feof($fp)){//循環讀取,直至讀取完整個文件$str.= fread($fp,$buffer);

}$str= str_replace("\r\n","<br
/>",$str);echo$str;

}?>
-------第四種方法--------------<?php$file_path= "test.txt";if(file_exists($file_path)){$file_arr= file($file_path);for($i=0;$i<count($file_arr);$i++){//逐行讀取文件內容echo$file_arr[$i]."<br
/>";

}/*

foreach($file_arr
as $value){

echo
$value."<br />";

}*/}?>2526272829303132333435

—-第五種方法——————–
<?php$file_path= "test.txt";if(file_exists($file_path)){$fp= fopen($file_path,"r");$str="";while(!feof($fp)){$str.= fgets($fp);//逐行讀取。如果fgets不寫length參數,默認是讀取1k。}$str= str_replace("\r\n","<br
/>",$str);echo$str;

}?>252627282930313233343536

㈥ PHP如何讀寫文件

下個php手冊,查看filesystem函數 裡面的都是文件操作相關的函數

㈦ php用splfileobject讀寫文件

SplFileInfo 僅用於獲取文件的一些屬性信息,如文件大小、文件訪問時間、文件修改時間、後綴名等值,而 SplFileObject 是繼承 SplFileInfo 這些功能的。

參考代碼如下:
SplFileInfo僅用於獲取文件的一些屬性信息,如文件大小、文件訪問時間、文件修改時間、後綴名等值,而SplFileObject是繼承SplFileInfo這些功能的。
/**返迴文件從X行到Y行的內容(支持php5、php4)
*@paramstring$filename文件名
*@paramint$startLine開始的行數
*@paramint$endLine結束的行數
*@returnstring
*/
functiongetFileLines($filename,$startLine=1,$endLine=50,$method='rb'){
$content=array();
$count=$endLine-$startLine;
//判斷php版本(因為要用到SplFileObject,PHP>=5.1.0)
if(version_compare(PHP_VERSION,'5.1.0','>=')){
$fp=newSplFileObject($filename,$method);
$fp->seek($startLine-1);//轉到第N行,seek方法參數從0開始計數
for($i=0;$i<=$count;++$i){
陸桐祥悉告$content[]=$fp->current();//current()獲取當前行內容
$fp->next();//下一行
}
}else{//PHP<5.1
$fp=fopen($filename,$method);
if(!$fp)return'error:cannotreadfile';
謹明for($i=1;$i<$startLine;++$i){//跳過前$startLine行
fgets($fp);
}
for($i;$i<=$endLine;++$i){
$content[]=fgets($fp);//讀取文件行內容
}
fclose($fp);
}
returnarray_filter($content);//array_filter過濾:false,null,''
}

㈧ PHP如何解決多進程同時讀寫一個文件的方法

閱讀全文

與php讀寫文件類相關的資料

熱點內容
如何更新搶修app 瀏覽:710
aqdya愛情網 瀏覽:743
韓國倫理電影正宇 瀏覽:887
男主角在劇里叫諾亞的電影 瀏覽:794
集結號的男主 瀏覽:415
魔獸世界懷舊服會長移交命令 瀏覽:100
中文字幕在線觀看的網站 瀏覽:473
主角上自己女兒的小說 瀏覽:112
javaextjs文件上傳 瀏覽:28
有哪些佛教電影 瀏覽:149
成人劇情小說 瀏覽:113
國外免費小電影網站 瀏覽:909
怎麼把文件夾百度網盤 瀏覽:788
韓國頂級愛情電影 瀏覽:489
美國電影紅 瀏覽:946
框架梁與次梁哪條梁需要加密 瀏覽:6
俄羅斯版越戰英豪電影 瀏覽:970
寶塔上的網站源碼怎麼打包 瀏覽:282
采補爐鼎小說 瀏覽:892
窗口輪廓菜單命令的快捷鍵 瀏覽:300