PHP文件系统管理(实例讲解)

文件概念:

第一个是windows的文件,另一个php根据LINUX的文件,两者是有所不同的,我们说的页面基于windows的文件可以是是文件夹(也就是目录)或是文件,而php两者都必须有,它包含目录和文件2种。

1.判断文件类型

(1)获取文件类型        filetype("./images")

例如:var_dump(filetype("./img")); //返回文件类型,目录或文件,如果是目录则返回dir,如果是文件则返回file;

 (2)判断是否是目录类型      is_dir("")

判断是否是文件类型  is_file("")

例如:var_dump(is_dir("./img/11.png"));

var_dump(is_file("./img/11.png"));

2.文件属性

(1)文件上次访问时间     fileatime("")     其返回值为时间戳

文件创建时间    filectime("")

文件修改时间    filemtime("")

文件大小     filesize("")

文件是否已存在  file_exists("")       这个比较常用

例如:var_dump(date("Y-m-d H:i:s",fileatime("./img/11.png")));  返回的为上次访问的正常时间

3.文件路径

(1)当前路径       ./                例如:./date

(2)上级路径   ../      例如:../img

(3)根路径   

页面的模式:根目录为www    
例如:/1220/wenjian/img/11.png
php的模式:根目录为磁盘,即操作系统根  
例如:/wamp/www/1220/wenjian/img/11.png

(4)取服务器的根目录      

$_SERVER['DOCUMENT_ROOT']   
例如:echo $_SERVER['DOCUMENT_ROOT'];

(5)路径中获取文件名   

basename("路径")    
例如:echo basename("/wamp/www/1220/wenjian/img/11.png");
返回的是11.png
basename("路径",".php/.txt")  
例如:echo basename("/wamp/www/1220/wenjian/img/11.png",".png");
返回的是11

(6)路径中目录名

dirname("路径")
例如:echo dirname("/wamp/www/1220/wenjian/img/11.png");
返回的是img

(7)返回数组 

pathinfo("路径") 

(8)返回规范化的绝对路径 

realpath("路径")  
例如:echo realpath("./img/11.png");//将相对路径转化为绝对路径  
得到的值是/wamp/www/1220/wenjian/img/11.png

4.目录操作

(1)遍历数组    glob("./fenye/*.php")

实例:给你一个文件夹,返回该文件夹下所有文件数量

<?php
//递归函数实现功能
 function fileall($fname){
        $sum = 0;
  if(is_dir($fname)){
  $dir = opendir($fname);
  while($name = readdir($dir)){
  if($name != "." && $name != ".."){
   $wzpath = $fname."/".$name;//将文件拼接成完整的路径
   if(is_file($wzpath)){//如果是文件+1
   $sum++;
   }else{//如果是文件夹调用本身函数查找所有文件
   $sum += fileall($wzpath);
   }
  }
  }
  closedir($dir);
           return $sum;
  }else{
  return 1;
  }
 }

函数调用:echo fileall("./bootstrap");

?>

以上这篇PHP文件系统管理(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • php文件系统处理方法小结

    本文总结分析了php文件系统处理方法.分享给大家供大家参考,具体如下: 文件类型 以Linux为模型的, 在Windows只能获取file, dir或unknow 三种类型 在Linux/Unix下, block, char, dir, fifo, file, link, unknown7种型 block :块设置文件,磁盘分区,软驱, cd-rom等 char: 字符设备,I/O (输入输出中)以字符为单位的设备, 例如键盘,打印机等 dir:  目录也是文件的一种/目录文件 fifo: 信息

  • PHP与服务器文件系统的简单交互

    1.php.ini中关于文件上传的设置指令 2.文件上传过程 (1)上传文件提交表单html代码: <!--向服务器上传文件的HTML表单(限制为文本文件)--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Adminstration - upoload new files</title>

  • PHP 文件系统详解

    文件处理函数 1.文件操作. 打开文件: 打开指定的文件时会返回相应的对象,若不存在指定的文件,那麽可能会自动创建这个文件. resource fopen(string filename,string mode [,int use_include_path][,resource context]); filename 可以是包含文件路径的文件名,也可以是某种协议给出的URL(打开远程文件).为了避免系统切换带来的麻烦,采用'/'作为路径分隔符. mode: 设置打开文件的方式,分别有: r:只读

  • PHP文件系统管理(实例讲解)

    文件概念: 第一个是windows的文件,另一个php根据LINUX的文件,两者是有所不同的,我们说的页面基于windows的文件可以是是文件夹(也就是目录)或是文件,而php两者都必须有,它包含目录和文件2种. 1.判断文件类型 (1)获取文件类型        filetype("./images") 例如:var_dump(filetype("./img")); //返回文件类型,目录或文件,如果是目录则返回dir,如果是文件则返回file;  (2)判断是否

  • HttpsURLConnection上传文件流(实例讲解)

    项目需要对接外部接口,将图片文件流发送到外部接口,下面代码就是HttpsURLConnection如何上传文件流: /** * HttpsURLConnection上传文件流 * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { //本地图片 java.io.File file = new java.io.File("/Users/jikukalun/Pic

  • 基于node.js的fs核心模块读写文件操作(实例讲解)

    node.js 里fs模块 常用的功能 实现文件的读写 目录的操作 - 同步和异步共存 ,有异步不用同步 - fs.readFile 都不能读取比运行内存大的文件,如果文件偏大也不会使用readFile方法 - 文件大分流读取,stream - 引入fs模块 - let fs=require('fs') 同步读取文件 -fs.readFileSync('路径',utf8); let result=fs.readFileSync('./1.txt','utf8'); 异步读取文件,用参数err捕获

  • php使用flock阻塞写入文件和非阻塞写入文件的实例讲解

    阻塞写入代码:(所有程序会等待上次程序执行结束才会执行,30秒会超时) <?php $file = fopen("test.txt","w+"); $t1 = microtime(TRUE); if (flock($file,LOCK_EX)) { sleep(10); fwrite($file,"Write something"); flock($file,LOCK_UN); echo "Ok locking file!&quo

  • spring boot自定义log4j2日志文件的实例讲解

    背景:因为从 spring boot 1.4开始的版本就要用log4j2 了,支持的格式有json和xml两种格式,此次实践主要使用的是xml的格式定义日志说明. spring boot 1.5.8.RELEASE 引入log4j2的开发步骤如下: 1.首先把spring-boot-starter-web以及spring-boot-starter包下面的spring-boot-starter-logging排除,然后引入spring-boot-starter-log4j2包. <dependen

  • java创建多级目录文件的实例讲解

    实例如下所示: /** * 创建多级目录文件 * * @param path 文件路径 * @throws IOException */ private void createFile(String path) throws IOException { if (StringUtils.isNotEmpty(path)) { File file = new File(path); if (!file.getParentFile().exists()) { file.getParentFile().

  • python逐行读写txt文件的实例讲解

    实例如下所示: # -*-coding:utf-8-*- import os file_obj = open("test2.txt") all_lines = file_obj.readlines() for line in all_lines: print line file_obj.close() # 写之前,先检验文件是否存在,存在就删掉 if os.path.exists("dest.txt"): os.remove("dest.txt"

  • Python 批量合并多个txt文件的实例讲解

    实例如下所示: # -*- coding:utf-8 -*- #os模块中包含很多操作文件和目录的函数 import os #获取目标文件夹的路径 meragefiledir = os.getcwd()+'\\MerageFiles' #获取当前文件夹中的文件名称列表 filenames=os.listdir(meragefiledir) #打开当前目录下的result.txt文件,如果没有则创建 file=open('result.txt','w') #向文件中写入字符 #先遍历文件名 for

  • python 信息同时输出到控制台与文件的实例讲解

    python编程中,往往需要将结果用print等输出,如果希望输出既可以显示到IDE的屏幕上,也能存到文件中(如txt)中,该怎么办呢? 方法1 可通过日志logging模块输出信息到文件或屏幕.但可能要设置log的level或输出端,对于同时需要记录debug error等信息的较为合适,官方教程推荐学习用更规范的logger来操作. 例如,可参考来自官网的这段代码. import logging logging.basicConfig(filename='log_examp.log',lev

  • Python之批量创建文件的实例讲解

    批量创建文件其实很简单,只需要按照需要创建写文件.写完关闭当前写文件.创建新的写文件.写完关闭当前文件...不断循环即可,以下是一个简单例子,将大文件big.txt按照每1000行分割成一个个小文件. 具体做法如下: # -*- coding: utf-8 -*- index = 0 count = 0 f_in = open("%d.txt" % index, "w") with open("big.txt", "r") a

随机推荐