欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP的文件操作

程序员文章站 2022-05-21 18:19:36
...
  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
相关标签: PHP的文件操作