工作中经常用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 File
12      * @param string $pathname 文件名称
13      * @param string $data  写入到文件的数据
14      * @param string $md 打开文件模式
15      * @return int bool
16      */
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 file
33      * @param array array or comma separated string of information returned
34      * @return array
35      */
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 $perms
78      * @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

php常见的类库-文件操作类相关推荐

  1. Java学习总结:41(文件操作类:File)

    Java文件操作类:File 在java.io包中,如果要进行文件自身的操作(例如:创建.删除等),只能依靠java.io.File类完成. File类的常用操作方法 No. 方法 类型 描述 1 p ...

  2. php数据库缓存类,常见php数据文件缓存类汇总

    本文实例汇总了常见php数据文件缓存类.分享给大家供大家参考.具体分析如下: 数据文件缓存的做法我们常用的有php文件缓存与利用memcache来缓存数据,下面面我分别总结了memcache缓存数据与 ...

  3. php文件写入生成文件,PHP 文件操作类(创建文件并写入) 生成日志

    欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 PHP 文件操作类(创建文件并写入) 生成日志 /** * 文件操作(生成日志)支持多条插入 * (如果插入多条语句并换行 ...

  4. php点击按钮创建文件,PHP 文件操作类(创建文件并写入) 生成日_php

    path = $path; } //判断操作方式 a追加写 if (! empty ( $mode )) { $this->mode = $mode; } //判断写入的内容 if (! emp ...

  5. java文件操作和_JAVA文件操作类和文件夹的操作

    JAVA文件操作类和文件夹的操作 package com.gamvan.tools; import java.io.BufferedReader; import java.io.File; impor ...

  6. asp。net中常用的文件操作类

    ** 文件操作类 **/ #region 引用命名空间 using System; using System.Collections.Generic; using System.Text; using ...

  7. C# 对Ini文件操作(C# ini文件操作类)

    *************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...

  8. java中的文件处理io_Java的IO前奏曲:文件操作类之___File

    Java的IO前奏曲:文件操作类之___File 在java.io包里面,File类是唯一一个与文件本身操作有关的类,但是不会涉及到文件本身的具体内容(包括文件创建,删除等操作) 代码中的注释有详细说 ...

  9. ASP.NET 文件操作类

    1.读取文件 2.写入文件 using System; using System.Collections.Generic; using System.IO; using System.Linq; us ...

最新文章

  1. 黑马程序员Linux系统开发视频之VIM使用教程
  2. 并发锁之二:ReentrantReadWriteLock读写锁
  3. 【干货】搭建社区运营团队的一些经验和“血的教训”
  4. 主模式和野蛮模式_网络野蛮行为的含混性和观念
  5. 【剑指offer】面试题43:1~n整数中1出现的次数
  6. 盘点那些让程序员目瞪口呆的奇葩Bug,最后一个什么梗
  7. Hidden Markov Model
  8. 重要开源!CNN-RNN-CTC 实现手写汉字识别
  9. 深入理解JVM-java内存区域与内存溢出异常
  10. ASCII码二进制对照表及其规律
  11. 部门年终总结会议有必要开吗?
  12. R语言绘制heatmap热图
  13. 【论文阅读】SABRE: Protecting Bitcoin against Routing Attacks
  14. 学习win32汇编指令:lea和offset
  15. Google Play网页显示语言切换方法
  16. Java经典面试题—— int 和 Integer 有什么区别?谈谈 Integer 的值缓存范围
  17. 【软件工程】软件需求
  18. 手机扫二维码登录是怎么实现的?
  19. 我的计划、你的计划与世界的计划
  20. 计算机网络fmd是什么意思,不用就亏大了!酷炫又不用花钱的Win10“黑科技”

热门文章

  1. C语言中的itoa和atoi函数的实现
  2. HDOJ2203 亲和数
  3. JQuery实现点击TreeView文本展开/折叠子节点
  4. perl 发送邮件脚本
  5. 2018.12.24
  6. ES6关于Promise的用法详解
  7. 移动端 html2canvas 踩坑记录
  8. RPC简介,及与web service的对比
  9. MongoDB的查询整理
  10. [EnterpriseServices]利用assembly定义我们的组件在COM+中的注册方式