1. SplFileInfo
~~~
$fileName = 'version.md';
$fileInfo = new SplFileInfo($fileName);
echo '文件'.$fileName.'的信息如下:'.'</br>';
echo '文件名:'.$fileInfo->getFilename().'<br/>';
echo '扩展名:'.$fileInfo->getExtension().'<br/>';
echo '文件basename:'.$fileInfo->getBasename().'<br/>';
echo '最后访问时间:'.date('Y-m-d H:i',$fileInfo->getATime()).'<br/>';
echo '最后inode时间:'.date('Y-m-d H:i',$fileInfo->getCTime()).'<br/>';
echo '最后修改时间'.date('Y-m-d H:i',$fileInfo->getMTime()).'<br/>';
echo '文件组:'.$fileInfo->getGroup().'<br/>';
echo '文件inode:'.$fileInfo->getInode().'<br/>';
echo '文件拥有者'.$fileInfo->getOwner().'<br/>';
echo '文件所在目录:'.$fileInfo->getPath().'<br/>';
echo '文件所在完整路径:'.$fileInfo->getPathname().'<br/>';
echo '文件绝对路径:'.$fileInfo->getRealPath().'<br/>';
echo '文件权限:'.$fileInfo->getPerms().'<br/>';
echo '文件大小:'.$fileInfo->getSize().'<br/>';
echo '文件类型:'.$fileInfo->getType().'<br/>';
echo '是否是目录:'.($fileInfo->isDir()?'是':'否').'<br/>';
echo '是否是链接:'.($fileInfo->isFile()?'是':'否').'<br/>';
echo '是否可执行:'.($fileInfo->isWritable()?'是':'否').'<br/>';
echo '是否可写:'.($fileInfo->isWritable()?'是':'否').'<br/>';
echo '是否可读:'.($fileInfo->isReadable()?'是':'否').'<br/>';
~~~
2.SplFileObject
* 读取文件
方法1:
~~~
try{
$fileObject = new SplFileObject($fileName);
foreach ($fileObject as $line){
echo $line.'<br/>';
}
}catch(Exception $e){
echo $e->getMessage();
}
~~~
方法2:
~~~
try{
$fileObject = new SplFileObject($fileName);
while($fileObject->valid()){
echo $fileObject->current().'<br/>';
$fileObject->next();
}
}catch(Exception $e){
echo $e->getMessage();
}
~~~
* 写入文件
~~~
try{
$fileObject = new SplFileObject($fileName,'ab+');
$fileObject->fwrite('写点东西');
}catch(Exception $e){
echo $e->getMessage();
}
~~~