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();
}
~~~