导航:首页 > 编程语言 > 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读写文件类相关的资料

热点内容
韩国同志电影肉多的有哪些 浏览:643
床戏很厉害的电影 浏览:893
苏州追觅科技程序员 浏览:919
程序员我最多等你两天 浏览:175
梁家辉电影在线观看 浏览:277
好看的电影地址 浏览:838
福州爱琴海电影院 浏览:626
男主角是白头发的日本电影 浏览:967
androidhtml滚动条 浏览:678
在线电影网站推荐 知乎 浏览:383
python多长时间能学习 浏览:884
java正则图片 浏览:601
怎么对u盘的文件夹加密 浏览:320
手机为什么自动卸载app 浏览:51
只有一个程序员的公司 浏览:27
php敏感词检测工具 浏览:607
苹果app为什么有的不可以左滑 浏览:814
php访问access数据库 浏览:417
爱情韩国三小时合集电影 浏览:824
华为的编译器能编译哪些语言 浏览:810