SPL 文件处理

SPL中定义了一些处理文件、目录的类。首先认识一下SplFileInfo类,该类是通过文件引用来创建对象:

$file = new SplFileInfo('data.txt');

创建对象后,我们就可以调用他的各种方法来获取文件有关信息:

getBasename() //获得文件名 (eg: data.txt)

getExtension() //获得扩展名 (eg: .txt)

getMTime() //创建时间 (单位:秒)

getPathName() //路径名

getSize() //文件大小

getType() //文件类型 (eg: file or dir)

isDir()

isFile()

isWritable()

eg:

$file = new SplFileInfo('data.txtss');

echo "<p>Extentsion: {$file->getExtension()}</p>";
echo "<p>Basename: {$file->getBasename()}</p>";
echo "<p>MTime: {$file->getMTime()}</p>";
echo "<p>Pathname: {$file->getPathname()}</p>";
echo "<p>Size: {$file->getSize()}</p>";
echo "<p>Type: {$file->getType()}</p>";
echo "<p>Writeable: {$file->isWritable()}</p>";


2.要想操作文件,如向文件中写入数据或读取数据,可以使用SplFileObject类,该类是SplFileInfo类的子类,因此可以使用前面提到的所有方法,还可以调用许多新的方法,eg:fgetc(),

fgets(),fwrite(),eof()等,他们与同名文件处理函数相对应,要使用SplFileObject类,需要想该类的构造函数提供两个实参,第一个为文件名(和路径,如果需要),第二个为打开模式:

eg:

$pfile = new SplFileObject('data.txt', 'r');

while(!$pfile->eof()){
    echo $pfile->fgets()."<br/>";//读取一行
}

 

3.SplTempFileObject 类提供了一种创建和已使用临时文件的方法。

 

 

 

posted @ 2014-05-28 10:14  ShowJoy  阅读(1514)  评论(0编辑  收藏  举报