PHP的檔案操作

來源:互聯網
上載者:User
  1. //filetype()
  2. 擷取檔案的類型
  3. //擷取windows下的檔案類型
  4. echo filetype("D:\\lamp\\php5\\php.ini")."
    ";
  5. //輸出file 表示是一個普通檔案
  6. echo filetype("D:\\lamp\\php5")."
    ";
  7. //輸出dir 表示是一個目錄
  8. //is_file()
  9. 判斷給定的檔案名稱是否是一個普通檔案
  10. //is_dir()
  11. 判斷給定的檔案名稱是否是一個目錄
  12. //file_exists()
  13. 檢查檔案或目錄是否存在
  14. //filesize()
  15. 取得檔案的大小
  16. //is_readable()
  17. 判斷給定檔案名稱是否可讀
  18. //is_writable()
  19. 判斷給定的檔案名稱是否可寫
  20. //is_executable()
  21. 判斷給定的檔案名稱是否可執行
  22. //filectime()
  23. 擷取檔案的建立時間
  24. //filemtime()
  25. 擷取檔案的修改時間
  26. //fileatime()
  27. 擷取檔案的訪問時間
  28. //stat()
  29. 擷取檔案的大部分屬性值
  30. //clearstatcache()
  31. 清楚被PHP緩衝的該檔案資訊
  32. /*
  33. *聲明一個函數,通過傳入一個檔案名稱擷取檔案的大部分屬性
  34. **/
  35. function getFilePro($fileName){
  36. if(!file_exists($fileName)){
  37. //如果提供的檔案或目錄不存在,則直接退出函數
  38. echo "目標檔案不存在"."
    ";
  39. return;
  40. }
  41. if(is_file($fileName)){
  42. //判斷給定的檔案是否是一個普通檔案
  43. echo $fileName."是一個普通檔案
    ";
  44. }
  45. if(is_dir($fileName)){
  46. //判斷給定的檔案是否是一個目錄
  47. echo $fileName."是一個目錄
    ";
  48. }
  49. echo "檔案類型:".getFileType($fileName)."
    ";
  50. echo "檔案大小:".getFileSize(filesize($fileName))."
    ";
  51. if(is_readable($fileName)){
  52. //判斷檔案是否可讀
  53. echo "檔案可讀
    ";
  54. }
  55. if(is_writable($fileName)){
  56. //判斷檔案是否可寫
  57. echo "檔案可寫
    ";
  58. }
  59. if(is_executable($fileName)){
  60. //判斷檔案是否可執行
  61. echo "檔案可執行";
  62. }
  63. echo "檔案的建立時間是:".date("Y-m-d H:i:s", filectime($fileName))."
    ";
  64. echo "檔案的最後更新時間是:".date("Y-m-d H:i:s", filemtime($fileName))."
    ";
  65. echo "檔案的最後開啟時間是:".date("Y-m-d H:i:s", fileatime($fileName))."
    ";
  66. }
  67. /*
  68. *聲明一個函數,通過傳入一個檔案名稱擷取檔案的類型
  69. */
  70. function getFileType($fileName){
  71. switch(filetype($fileName)){
  72. case "file":
  73. $type = "普通檔案";
  74. break;
  75. case "dir":
  76. $type = "目錄檔案";
  77. break;
  78. case "blokc":
  79. $type = "塊裝置檔案";
  80. break;
  81. case "char":
  82. $type = "字元裝置檔案";
  83. break;
  84. case "fifo":
  85. $type = "具名管道檔案";
  86. break;
  87. case "link":
  88. $type = "符號連結";
  89. break;
  90. case "unkonwn":
  91. $type = "未知類型";
  92. break;
  93. default:
  94. $type = "沒有檢測到類型";
  95. }
  96. return $type;
  97. }
  98. /*
  99. *聲明一個函數,轉換檔的大小
  100. */
  101. function getFileSize($bytes){
  102. if($bytes >= pow(2,40)){
  103. //如果提供的位元組數大於等於2的40次方,則條件成立
  104. $return = round($bytes/pow(1024,4),2);
  105. //將位元組轉換為同等的T的大小
  106. $suffix = "TB";
  107. }elseif($bytes >= pow(2,30)){
  108. $return = round($bytes/pow(1024,3),2);
  109. //將位元組轉換為同等的G的大小
  110. $suffix = "GB";
  111. }elseif($bytes >= pow(2,20)){
  112. $return = round($bytes/pow(1024,2),2);
  113. //將位元組轉換為同等的M的大小
  114. $suffix = "MB";
  115. }elseif($bytes >= pow(2,10)){
  116. $return = round($bytes/pow(1024,1),2);
  117. //將位元組轉換為同等的K的大小
  118. $suffix = "KB";
  119. }else{
  120. $return = $bytes;
  121. //將位元組轉換為同等的B的大小
  122. $suffix = "B";
  123. }
  124. return $return." ".$suffix;
  125. }
  126. getFilePro("D:\\lamp\\php5\\php.ini");
  127. $filepro=stat("D:/lamp/php5/php.ini");
  128. //返迴文件的大部分屬性
  129. print_r($filepro);
  130. ?>
複製代碼
PHP
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.