• PHP file函数



    一、判断函数

    1 is_file($filename) //判断是否文件
    2 is_link($filename) //判断是否为链接符号
    3 is_dir($filename) //判断是否为路径
    4 is_readable($filename)//判断文件是否存在并且可读
    5 is_writable($filename)//判断文件是否存在并且可写
    6 is_executable($filename)//判断文件是否存在且可执行

    二、增删

    1 touch($filename,$m_time=time(),$v_time=time()) //创建文件,修改时间,访问时间。文件不存在则创建
    2 mkdir($path,0777,true) //创建目录,true位创建多级
    3 copy($source,$dest)//将文件复制到$dest
    4 unlink($filename)//删除文件
    5 rmdir($dirname)//删除目录

    三、读写

     1 $fp = fopen($filename,$mode) //打开文件或url
     2 feof($fp)//测试文件指针是否到了文件结束的位置
     3 flock($fp,$operation)//LOCK_SH共享锁,LOCK_EX排他锁,LOCK_UN释放锁。
     4 fwrite($fp,$content)//写入,别名fputs()
     5 fread($fp,$length)//读取$length个字节
     6 fgets($fp,$length)//从文件指针中读取一行,$length-1个字节
     7 fgetss($fp)//从文件指针中读取一行并过滤掉HTML标记
     8 fgetc($fp)//读取一个字符(字节)
     9 fclose($fp);//关闭一个已打开的文件指针
    10 $str = file_get_contents($filename,)//将整个文件读入一个字符串
    11 file_put_contents($filename,$contents)//将一个字符串写入文件
    12 $arr = file($filename)//将整个文件读入一个数组

    四、指针

    1 fseek($fp,$offset)//将文件指针移动到$offset处
    2 rewind($fp)//将文件指针置于开头,等价于fseek($fp,0)

    五、文件信息

    1 fileatime($filename)//取得文件上次的访问时间
    2 filemtime($filename)//取得文件的修改时间
    3 filectime($filename)//取得文件的 inode 修改时间
    4 fileinode($filename)//取的文件的 inode
    5 filegroup($fileanme)//取得文件的组
    6 fileowner($filename)//取得文件的所有者
    7 fileperms($fileanme)//取得文件的权限
    8 filesize($filename) //取得文件的大小
    9 filetype($filename) //取得文件类型,fifo,char,dir,block,link,file 和 unknown

    六、权限

    1 chgrp($filename,$group)//$group组名或组ID
    2 chmod($filename,$mode)//改文件权限
    3 chown($filename,$user)//改变文件的所有者

    七、解析路径

     1 basename($path)//返回路径中的文件名部分
     2 echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
     3 echo "2) ".basename("/etc/passwd").PHP_EOL;
     4 echo "3) ".basename("/etc/").PHP_EOL;
     5 echo "4) ".basename("/etc///").PHP_EOL;
     6 echo "5) ".basename("//etc/").PHP_EOL;
     7 echo "6) ".basename("/etc/.").PHP_EOL;
     8 echo "7) ".basename(".").PHP_EOL;
     9 echo "8) ".basename("..").PHP_EOL;
    10 echo "9) ".basename("/");
    11 1) sudoers
    12 2) passwd
    13 3) etc
    14 4) etc
    15 5) etc
    16 6) .
    17 7) .
    18 8) ..
    19 9) 
    20 下面这个自定义函数可以解释basename()的行为
    21 function my_basename($path,$suffix=''){
    22 $path_arr = explode("/",$path);
    23 foreach ($path_arr as $key => $value) {
    24 if($value==''){
    25 unset($arr[$key]);
    26 }
    27 }
    28 $arr_length = count($path_arr);
    29 $path_last = $path_arr[$arr_length-1];
    30 if(isset($path_last)){
    31 $filename = strrev($path_last);
    32 if(strpos($filename,$suffix)===0){
    33 return strrev(substr($filename,strlen($suffix)));
    34 }else{
    35 return strrev($filename);
    36 }
    37 }else{
    38 return '';
    39 } 
    40 }
    41 
    42 pathinfo($filename)//返回文件路径的信息
    43 print_r(pathinfo("/etc///ss/s..txt//"));
    44 
    45 输出:
    46 
    47 Array
    48 (
    49 [dirname] => /etc///ss
    50 [basename] => s..txt
    51 [extension] => txt
    52 [filename] => s.
    53 )
  • 相关阅读:
    [BZOJ2434][Noi2011]阿狸的打字机
    [BZOJ2303][Apio2011]方格染色
    [BZOJ1912][Apio2010]patrol 巡逻
    [BZOJ1179][Apio2009]Atm
    [BZOJ1178][Apio2009]CONVENTION会议中心
    Lock-less buffer management scheme for telecommunication network applications
    vue-router@2.x 只适用于 Vue 2.x 版本。
    jQuery 捕获
    jQuery Chaining
    jQuery Callback 方法
  • 原文地址:https://www.cnblogs.com/natian-ws/p/6515095.html
Copyright © 2020-2023  润新知