文件處理系統

一.文件類型
1.php3種:file,dir,unknow;
2.linux7中:block(塊文件,如磁盤),char(字符設備,如鍵盤),dir(目錄),fifo(


命名管道),file(普通文件),link(符號鏈接,如快捷方式),unkonw(位置類型)


3.基本函數:
is_dir(),is_executable(),is_file(),is_link(),is_readable(),is_writable()
file_exists(),filesize(),filectime(),filemtime(),fileatime(),stat()


二.目錄的基本操作
1.basename();//獲取路徑中文件名部分;
  dirname();//獲取目錄部分
  pathinfo();//路徑信息,目錄,文件,後綴
  realpath();//返回規範化絕對路徑。
2.遍歷目錄:
  opendir(打開句柄)->readdir(獲取文件名)->closedir(關閉句柄)-rewiddir(倒


回句柄)
  disk_free_space//返回可用空間
  disk_total_space//返回總的空間

3.代碼:

<?php 
    header("Content-Type:text/html;charset=utf8");  
    
    function dirSize($directory)
    {
        $dir_size=0;
        if($file_handle=opendir($directory))
        {
            while($filename=readdir($file_handle))
            {
                if($filename!="." && $filename!="..")
                {
                    $subFile=$directory."/".$filename;
                    if(is_dir($subFile))
                    {
                        $dir_size+=dirSize($subFile);
                    }
                    if(is_file($subFile))
                    {
                        $dir_size+=filesize($subFile);
                    }
                }
            }
            closedir($file_handle);
            return $dir_size;
        }
    }
    
    $path=$_SERVER["DOCUMENT_ROOT"]."test";
    echo round(dirSize($path)/1024,2)."KB";
?>
三.建立與刪除目錄
1.mkdir()//建立目錄
  rmdir()//刪除目錄,該目錄必須是空的
  unlink()//刪除文件
2.代碼:

<?php 
    header("Content-Type:text/html;charset=utf8");  
   
    $path=$_SERVER["DOCUMENT_ROOT"]."delfile";
    
    function delDir($directory)
    {
        if(file_exists($directory))
        {
            if($dir_handle=opendir($directory))
            {
                while($filename=readdir($dir_handle))
                {
                    if($filename!="." && $filename!="..")
                    {
                        $subFile=$directory."/".$filename;
                        if(is_dir($subFile))
                        {
                            delDir($subFile);
                        }
                        if(is_file($subFile))
                        {
                            unlink($subFile);
                            echo "file:".$subFile."<br>";
                        }
                    }
                }
                closedir($dir_handle);
                rmdir($directory);
                echo "dir".$directory."<br>";
            }
        }
    }
    
    delDir($path);
?>


四.複製和移動目錄
1.copy()//拷貝文件

五.文件的基本操作
1.fopen() 
  fclose()
  fwrite()
  fread()
  fgets()//讀取一行
  fgetc()//讀取一個字符


六.文件的上傳與下載
enctype="multipart/form-data"

上傳:前面博客已經謝過了

下載:


<?php 
    $filename=$_SERVER["DOCUMENT_ROOT"]."test/hahah.xlsx";
    $basename=pathinfo($filename);
    header("Content-Type:image/jpeg");
    header("Content-Disposition:attachment;filename=".$basename["basename"]);
    header("Content-Length:".filesize($filename));
    readfile($filename);
?>




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章