当前位置:首页 » 编程语言 » php文件读写

php文件读写

发布时间: 2023-06-13 13:30:39

php读写XML文件

library.xml:
<?xmlversion="1.0"encoding="gb2312"?>
<root>
<groups>
<groupgid="1">super</group>
<groupgid="2">admin</group>
<groupgid="3">change</group>
<groupgid="4">program</group>
</groups>
<users>
<user>
<name>Apache2</name>
<author>PeterWainwright</author>
<publisher>Wrox</publisher>
<group>1</group>
</user>
<user>
<name>AdvancedPHPProgramming</name>
<author>GeorgeSchlossnagle</author>
<publisher>DeveloperLibrary</publisher>
<group>1</group>
<group>3</group>
</user>
<user>
<name>VisualFoxPro6-ProgrammersGuide</name>
<author>EricStroo</author>
<publisher>Microsoftpress</publisher>
<group>2</group>
</user>
<user>
<name>MasteringJava2</name>
<author>JohnZukowski</author>
<publisher>Sybex</publisher>
<group>4</group>
</user>
</users>
</root>
/**********************************************/
readlibrary.php:

<?php
$xml=newDOMDocument('1.0');
$xml->load('library.xml');
$groups=array();
$XMLGroups=$xml->getElementsByTagName('groups')->item(0);
foreach($XMLGroups->getElementsByTagName('group')as$groupNode){
/*注意我们是如何得到属性的*/
$gid=$groupNode->getAttribute('gid');
$groups[$gid]=$groupNode->firstChild->nodeValue;
}
?>
<html>
<head>
<title>XMLLibrary</title>
</head>
<body>
<?
foreach($xml->getElementsBytagName('user')as$user):
$name=$user->getElementsByTagName('name')->item(0)->firstChild->nodeValue;
$author=$user->getElementsByTagName('author')->item(0)->firstChild->nodeValue;
$userCategories=$user->getElementsByTagName('group');
$catList='';
foreach($userCategoriesas$category){
$catList.=$groups[$category->firstChild->nodeValue].',';
}
$catList=substr($catList,0,-2);?>
<!--
<div>
<h2><?phpecho($name)?></h2>
<b>Author:</b>:<?phpecho($author)?></br>
<b>group:</b>:<?phpecho($catList)?></br>
</div>
-->
<?php
//echo($name."-".$author."-".$catList."<br>\n");
echo($name."||".$catList."<br>\n");
endforeach;?>
</html>

Ⅱ 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读写权限问题,服务端可以随意读写文件吗

对于windows下的服务器,一般就是对目录做权限限制,使得匿名访问服务器的用户(就是普通用户通过浏览器访问服务器)除了自家的网站目录之外,对其他目录没有读写权限。

对于linux下的服务器,因为linux的服务器比如apache等,是以apache这个用户运行的,linux又有完善的权限控制策略,对于系统文件(root用户),其他用户,除非这个文件或者文件夹对你有读写权限,php才能操作。

当然没这么简单,在php的配置文件里还可以配置php能调用哪些对系统敏感的函数,比如列目录,创建文件等。

未知用户获得权限,就是说明你的网站被黑了么~哈哈
通过一些漏洞,hack拿到你网站的webshell,搞到你连接数据库的用户名密码,那当然就是可以为所欲为了。

对于虚拟空间,php和ftp都有对整个目录的操作权限应该,(我没用过虚拟空间),但是对于这个目录的父目录肯定没权限了。如果是自己搭建一个服务器,你就会了解很多了。

慢慢自己会知道的,三两句也说不清楚

Ⅳ 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

热点内容
查询重复字段的sql语句 发布:2025-02-13 03:12:42 浏览:322
8uftp上传网站 发布:2025-02-13 03:01:57 浏览:242
电脑玩游戏如何配置电源 发布:2025-02-13 03:01:53 浏览:361
微信怎么上传头像不了 发布:2025-02-13 02:57:04 浏览:118
c语言矩阵的转置 发布:2025-02-13 02:38:43 浏览:624
rowphp 发布:2025-02-13 02:37:16 浏览:711
光遇安卓服周年伞在哪里领取 发布:2025-02-13 02:22:18 浏览:674
写mv脚本软件 发布:2025-02-13 02:21:56 浏览:696
超内核源码 发布:2025-02-13 02:12:54 浏览:444
趣粉脚本 发布:2025-02-13 02:11:23 浏览:952