• PHP操作文件常用函数


    【获取文件信息的函数】
    basename($path[,扩展名]) 返回文件路径中去掉路径后的文件名称。"/root/a.txt"输出a.txt;带上.txt输出a。
    dirname($path); 查看目录名称。"/root/a.txt" 输出 /root。
    pathinfo($path) 返回数组。"/root/a.txt" 输出array(dirname=>root,basename=>a.txt,extension=>txt)。
    realpath($path);返回文件的绝对路径。realpath(“../../aaa.txt”); 输出 D:/aaa.txt。
    filetype($path); 返回文件类型。 filesize($path); 计算文件大小(字节数)。
    fileatime() 文件上次被访问的时间,filemtime() 文件上次被修改的时间。filesize()返回文件大小。file_exists()检查文件或目录是否存在。
    disk_total_space() 返回一个目录所在的磁盘分区大小(字节数)。
    fileperms() 获取文件的权限。
    getimagesize("1.jpg"); 获取图片尺寸
     
    【操作目录的函数】
    mkdir() 创建目录:mkdir(‘image’,0777)
    opendir() 打开目录:if(opendir("D:/www")) echo 'ok'; else echo 'fail';
    closedir() 关闭目录。rename()重命名目录。rmdir() 删除空目录。
    readdir() 读取文件目录,返回该目录下的所有文件名称。
    $dir = opendir(“D:/www”);
    while( ($file=readdir($dir)) !== false  ){
      echo $file;
    }
    closedir($dir);
     
    【操作文件的函数】
    fopen() 打开文件;fclose() 关闭文件;touch()创建文件;unlink()删除文件;copy()复制文件;rename()重命名文件;flock()锁定文件。
    fwrite() 和 fputs() 和 file_put_contents($filename [,FILE_APPEND]): 写入文件。
    is_writable() 检查文件是否可写,判断文件权限,同类is_readable() 检查文件是否可读,返回布尔值。
    fread() 读取文件。 fgets() 读取文档中的一行。 fgetss() 读取文档一行并去掉HTML和PHP标记。
    move_uploaded_file($upload_file,$path); 上传图片(form表单必须设置enctype="multipart/form-data"属性)。
    stat() 返回关于文件的信息,本函数的结果会被缓存,使用clearstatcache()来清除缓存。
    PHP输出CSV和EXCEL两种简单的方法:header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filename=php100.xls");
    文件指针函数:rewind()、fseek()、feof()、ftell() 。
     
    【下载文件】
    header("Content-Type:image/gif");
    header('Content-Disposition: attachment; filename="logo3333.gif"');
    header('Content-Length:'.filesize("logo.gif"));
    readfile("logo.gif");
         
    【从一个标准 url 里取出文件的扩展名】
    function getExt($url){
       $arr = parse_url($url);
       $file = basename($arr['path']);
       $ext = explode(".",$file);
       return $ext[1];
    }
    $str = "http://www.sina.com.cn/abc/de/fg.php?id=1";
    echo getExt($str);// 输出:php
     
    【删除非空目录】
    function deldir($dirname){
        if(file_exists($dirname)) {
            $dir=opendir($dirname);
            while($filename=readdir($dir)){
                 if($filename!="."&& $filename!=".."){
                      $file=$dirname."/".$filename;
                      if(is_dir($file)){
                           deldir($file);//使用递归删除子目录  
                      }else{
                           echo'删除文件<b>'.$file.'</b>成功';
                           unlink($file);
                      }
                 }
            }
            closedir($dir);
            echo'删除目录<b>'.$dirname.'</b>成功';
            rmdir($dirname);
        }
    }
     
    【复制非空目录】
    function copydir($dirsrc, $dirto){
          if(is_file($dirto)){
              echo"目标不是目录不能创建";
              return;
          }
          if(!file_exists($dirto)){
              mkdir($dirto);
              //echo "创建目录".$dirto."成功!";
          }         
          $dir=opendir($dirsrc);
          while($filename=readdir($dir)){
              if($filename!="."&& $filename!=".."){
                   $file1=$dirsrc."/".$filename;
                   $file2=$dirto."/".$filename;
                   if(is_dir($file1)){
                        copydir($file1, $file2);//递归处理
                  }else{
                        copy($file1, $file2);
                   }
              }
          }
          closedir($dir);
    }
     
    【PHP读取一个目录下的文件个数】
    function FileCount($dir){
      global $count;
      if(is_dir($dir) && file_exists($dir)){
        $ob=scandir($dir);
        foreach($ob as $file){
          if($file=="."||$file==".."){
            continue;
          }
          $file=$dir."/".$file;
          if(is_file($file)){
            $count++;
          }elseif(is_dir($file)){
            FileCount($file);
          }
        }
      }  
    }
    //调用方法
    $count=0;
    FileCount("DataRoom");
    echo $count;exit;
     
    【php获取目录中的所有文件名】
    $handler = opendir('pic/common');
    while( ($filename = readdir($handler)) !== false ) {
          if($filename != "." && $filename != ".."){
            echo $filename;
          }
    }
    closedir($handler);
    【判断远程图片(文件)是否存在】
    function check_remote_file_exists($url) {
        $curl = curl_init($url);
        curl_setopt($curl, CURLOPT_NOBODY, true); // 不取回数据
        $result = curl_exec($curl);  // 发送请求
        $found = false;
        if ($result !== false) {
            $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);  
            if ($statusCode == 200) {
                $found = true;   
            }
        }
        curl_close($curl);
        return $found;
    }
     
  • 相关阅读:
    git的命令操作指南
    【flask】RestFul的基本鉴权
    linux断电修复
    centos7安装libreoffice
    java -jar 后台启动
    yum安装nginx
    rpm安装mysql
    yum安装redis
    Centos 修改yum源
    centos8安装node.js v12.18.3
  • 原文地址:https://www.cnblogs.com/rxbook/p/10912653.html
Copyright © 2020-2023  润新知