PHP如何读写文件 ---PHP生成静态页面

作者:我就是个世界 发表于:2008-01-12
[url=http://www.cnbruce.com/blog/showlog.asp?log_id=1170]来源[/url]

        PHP读写文件,就如同ASP中使用FSO进行文件的读写操作。当然在ASP中FSO仅对于运行当前程序的服务器磁盘上文件进行读写(很明显就是需要获得物理路径),然而PHP可以通过FTP或HTTP打开文件进行读写。

[b][color=#0000FF]一,PHP如何读取文件[/color][/b]

PHP读取文件可以读取当前服务器或远程服务器中的文件。其步骤是:打开文件、读文件和关闭文件。

[b]1,PHP如何打开文件[/b]

使用PHP函数fopen()打开一个文件,fopen()一般使用2个参数表示打开文件的路径和文件模式。比如:

[code]$fp=fopen("../husw.txt",'w');[/code]


其中 "../husw.txt" 就表示打开的husw.txt文件的路径(相对当前执行程序文件的路径),'w'表示以只写的方式打开该文本文件。[separator]

附录:fopen()函数的文件模式总结

[quote]r    只读——读模式,打开文件,从文件头开始读
r+    可读可写方式打开文件,从文件头开始读写
w    只写——写方式打开文件,同时把该文件内容清空,把文件指针指向文件开始处。如果该文件已经存在,将删除文件已有内容;如果该文件不存在,则建立该文件
w+    可读可写方式打开文件,同时把该文件内容清空,把文件指针指向文件开始处。如果该文件不存在,则建立该文件
a    追加    以只写方式打开文件,把文件指针指向文件末尾处。如果该文件不存在,则建立该文件
a+    追加    以可读可写方式打开文件,把文件指针指向文件末尾处。如果该文件不存在,则建立该文件
b    二进制    用于于其他模式进行连接。建议使用该选项,以获得更大程度的可移植性[/quote]

注意,如果fopen()函数调用失败,函数将返回false。否则返回指针数据。所以一般在打开了文件后\读写文件前需要检测下文件是否存在。



[code]<?php
@ $fp=fopen("http://www.husw.net/123",'w');
if (!$fp)
{
    echo'文件不存在';
    exit;
}
?>[/code]



其中@符号表示PHP将抑制所有由当前函数调用产生的错误。

[b]2,PHP如何读文件[/b]

在PHP打开了文件之后就需要对文件进行读取,一般是使用fgets()函数。

该函数可以从文件中每次读取一行内容,其不断读入数据,值到遇到本行的换行符,或者全文的结束符号EOF。

介于fgets()函数只能读取一行数据,所以若需要读取文件的所有数据,须使用循环语句来完成。比如:



[code]while (!feof($fp))
{
    $bruce=fgets($fp);
    echo $bruce;
}[/code]



其中feof()函数是用来检测文件是否结束的。该函数唯一参数就是文件指针(即$fp对应打开的文件)。

当然,在PHP中还可以使用readfile()函数一次读取整个文件。该函数包括了打开文件、读取文件并输出到浏览器中和关闭文件。比如:



[code]<?php
$bruce=readfile("http://www.husw.net");
echo $bruce;
?> [/code]


[b]3,PHP如何关闭文件[/b]

使用函数fclose()就可以将文件关闭。

[b][color=#0000FF]二,PHP如何写数据到文件[/color][/b]

与PHP读取文件一样,PHP写入文件也需要:打开文件、写入数据和关闭文件。打开和关闭文件的方法上面已经说明,那PHP中写入数据到文件是怎样的呢。

使用fwrite()函数,比如fwrite(文件路径,写入内容):

<?php
$bruce=fopen("http://www.husw.net/","r");
if(!$bruce)
{
    echo'文件不存在';
    exit;
}
while (!feof($bruce))
{
    $rose=fgets($bruce);
        $james=fopen("index.htm","a");
        fwrite($james,$rose);
        fclose($james);
}
fclose($bruce);
?>
<a href="index.htm">将www.husw.net的内容生成了本地文件</a>


了解了PHP的读写文件,就可以把最简单的数据存入文本保存了。也就可以做个故事接龙了。

=============================
其他有用的文件函数:

file_exists():查看文件是否存在,返回布尔值
filesize():查看文件大小,可直接echo输出
unlink():删除文件,注意PHP中没有delete函数。



在百度搜索完整的[url=http://www.baidu.com/s?tn=site:www.husw.net_pg&word=PHP%C8%E7%BA%CE%B6%C1%D0%B4%CE%C4%BC%FE]PHP如何读写文件[/url]内容,或者用Google搜索[url=http://www.google.cn/search?q=PHP%C8%E7%BA%CE%B6%C1%D0%B4%CE%C4%BC%FE]相关的更多内容[/url]

分享:

扫一扫在手机阅读、分享本文

请发表您的评论