博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php常见的类库-文件操作类
阅读量:6788 次
发布时间:2019-06-26

本文共 2809 字,大约阅读时间需要 9 分钟。

工作中经常用php操作文件,因此把常用文件操作整理出来:

1 class hylaz_file{ 2     /** 3      * Read file 4      * @param string $pathname 5      * @return string content 6      */ 7     public static function read_file($pathname){ 8         return @file_get_contents($pathname); 9     }10     /**11      * Write File12      * @param string $pathname 文件名称13      * @param string $data  写入到文件的数据14      * @param string $md 打开文件模式15      * @return int bool16      */17     public static function  write_file($pathname,$data,$md='wb'){18         if(!$fp=fopen($pathname,$mode))19             return false;20         flock($fp,LOCK_EX);21         for($result=$written=0,$length=strlen($data),$written<$length;$written+=$result){22             if(($result=fwrite($fp,substr($data,$written)))===FALSE){23                 break;24             }25         }26         flock($fp, LOCK_UN);27         fclose($fp);28         return is_int($result);29     }30     /**31      * 获取文件信息32      * @param string path of file33      * @param array array or comma separated string of information returned34      * @return array35      */36     public static function file_info($file,$return_value=array('name', 'server_path', 'size', 'date')){37         if(!file_exists($file)){38             return false;39         }40         if(is_string($return_value)){41             $return_value=explode(",",$return_value);42         }43         foreach($return_value as $key){44             switch ($key){45                 case "name":46                     $fileinfo['name']=basename($path);47                     break;48                 case "server_path":49                     $fileinfo['server_path']=$file;50                     break;51                 case 'date':52                     $fileinfo['date']=filemtime($file);53                     break;54                 case 'size':55                     $fileinfo['size']=filesize($file);56                     break;57                 case 'readable':58                     $fileinfo['readable']=is_readable($file);59                     break;60                 case 'writable':61                     $fileinfo['writable']=is_writable($file);62                     break;63                 case 'executable':64                     $fileinfo['executable']=is_executable($file);65                     break;66                 case 'fileperms':67                     $fileinfo['fileperms']=fileperms($file);68                     break;69                 70                     71             }72         }73         return $fileinfo;74     }75     /**76      * 获得八进制的权限位77      * @param string $perms78      * @return string 79      */80     public static function octal_permissions($perms){81         return substr(sprintf("%o",$perms), -3);82     }83 }

 

转载于:https://www.cnblogs.com/hylaz/p/4385597.html

你可能感兴趣的文章
优化linux的内核来提高nginx并发
查看>>
Python包管理器
查看>>
关于微信投票如何防止出现微信上投票怎样刷票的技术
查看>>
OpenGL学习之glBindTexture函数
查看>>
Struts2 | 在struts2值栈中存储数据的三种方式
查看>>
ubuntu的python开发环境准备
查看>>
Java_07_01 正则表达式
查看>>
为微信域名而生的猴子数据 api接口
查看>>
在IDEA中Spring boot配置热部署无效问题解决方式
查看>>
很幽默的讲解六种Socket I/O模型
查看>>
《Objective-c基础教程》 学习计划(第一遍)
查看>>
struts2基本流程
查看>>
Android学习--01-架构
查看>>
NFS网络文件系统
查看>>
java: SQLite使用实例
查看>>
Java手动序列化和反序列化的实现
查看>>
一次解决你的所以省略号问题,不仅仅是:text-overflow:ellipsis
查看>>
sql报错信息
查看>>
k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)
查看>>
使用CFileFind类查找文件并获取文件图标
查看>>