php读取文件的方法

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

一,PHP如何读取文件

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

1,PHP如何打开文件

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


$fp=fopen("../111cn.txt",'w');

 

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

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

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

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


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

 

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

2,PHP如何读文件

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

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

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


while (!feof($fp))
{
    $bruce=fgets($fp);
    echo $bruce;
}

 

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

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


<?php
$bruce=readfile("http://www.111cn.net");
echo $bruce;
?>

 

3,PHP如何关闭文件

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

二,PHP如何写数据到文件

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

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


<?php
$bruce=fopen("http://www.111cn.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">将111cn.net的内容生成了本地文件</a>

 

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

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

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

时间: 2024-09-30 14:14:14

php读取文件的方法的相关文章

php从文件夹随机读取文件的方法

  本文实例讲述了php从文件夹随机读取文件的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 function RandomFile($folder='', $extensions='.*'){ // fix pa

csvreader-CsvReader读取文件中方法

问题描述 CsvReader读取文件中方法 CsvReader读取文件问题中有获取文件共有多少行数据的方法吗,就是想控制一次导入的数据量 想得到有多少行数据 解决方案 属性文件的几种读取方法C++中读取整个文件的方法C++读取txt文件的方法

php从文件夹随机读取文件的方法_php技巧

本文实例讲述了php从文件夹随机读取文件的方法.分享给大家供大家参考.具体实现方法如下: function RandomFile($folder='', $extensions='.*'){ // fix path: $folder = trim($folder); $folder = ($folder == '') ? './' : $folder; // check folder: if (!is_dir($folder)){ die('invalid folder given!'); }

Java基于IO流读取文件的方法_java

本文实例讲述了Java基于IO流读取文件的方法.分享给大家供大家参考,具体如下: public static void readFile(){ String pathString = TEST.class.getResource("/simu").getFile(); try { pathString = URLDecoder.decode(pathString, "utf-8"); } catch (UnsupportedEncodingException e1)

java 快速读取文件的方法。

问题描述 我用了Imageio.read(newFile(路径));但是读取图片感觉还是不够快,1M的图片需要400毫米才读取完.请大神指点. 解决方案 解决方案二:/***内存映射**@throwsIOException*/publicstaticvoidmapChannel()throwsIOException{longt1=System.currentTimeMillis();FileInputStreamin=newFileInputStream("d:/1.txt");lon

java读取properties文件的方法_java

本文实例讲述了java读取properties文件的方法.分享给大家供大家参考.具体实现方法如下: package com.test.demo; import java.util.Properties; import java.io.InputStream; import java.io.IOException; /** * 读取Properties文件的例子 * File: TestProperties.java */ public final class TestProperties { p

python中readline判断文件读取结束的方法_python

本文实例讲述了python中readline判断文件读取结束的方法.分享给大家供大家参考.具体分析如下: 大家知道,python中按行读取文件可以使用readline函数,下面现介绍一个按行遍历读取文件的方法,通过这个方法,展开我们要讨论的问题: 复制代码 代码如下: filename = raw_input('Enter your file name')  #输入要遍历读取的文件路径及文件名 file = open(filename,'r') done = 0 while not  done:

Android读取资源文件的方法

Android读取资源文件的方法 1.放入到资源文件夹里面,也就是所创建android工程的res下面. 我们可以在里面建立文件夹,放置我们要读取的文件. 例如:res里面建立目录raw,将要读取的文件abc.bin放入到该文件夹下,此时通过 openRawResource()方法即可读取.代码为 InputStream is = getResources().openRawResource(R.raw.abc); 只要获取InputStream,一切就好办了! 注意:res下面的目录名字是有讲

FSO使用教程6 -- 如何使用FSO读取文件

fso|教程 如何使用FSO读取文件-FSO使用教程6 TextStream对象所提供用来读取文件的方法有三种:ReadLine.Read及ReadAll.在调用这几个方法之前,必须注意文件结尾的问题----当整个文件的内容都被读完时,若再调用ReadLine,Read.ReadAll等方法,则会产生"输入超出文件结尾"的错误(错误编码=62). 因此比较好的习惯是在调用ReadLine.Read及ReadAll之前,先读取TextStream对象的atEndOfStream属性值,以