PHP文件系统处理
     所有文件处理都是使用系统函数完成的。
     是基于Linux/Unix系统为模型
 
       文件系统处理的作用:
           1. 所有的项目离不开文件处理
           2. 可以用文件长时间保存数据
           3. 建立缓存, 服务器中文件操作
 
       文件处理
         1. 文件类型
             以Linux为模型的, 在Windows只能获取file, dir或unknow 三种类型
             在Linux/Unix下, block, char, dir, fifo, file, link, unknown和种型
             block :块设置文件,磁盘分区,软驱, cd-rom等
             char: 字符设备,I/O 以字符为单位, 键盘,打印机等
             dir: 目录也是文件的一种
             fifo:
             file:
             link:
             unknown    
 
              filetype("目录或文件名")   取得文件类型

<?php
echo filetype("./test.txt");
?>

is_array();
              is_int();
              is_string();
              is_null;
              is_bool();
              
        is_dir -- 判断给定文件名是否是一个目录
        is_executable -- 判断给定文件名是否可执行
        is_file -- 判断给定文件名是否为一个正常的文件
        is_link -- 判断给定文件名是否为一个符号连接
        is_readable -- 判断给定文件名是否可读
        is_uploaded_file -- 判断文件是否是通过 HTTP POST 上传的
        is_writable -- 判断给定的文件名是否可写
        is_writeable -- is_writable() 的别名

<?php
//is_dir -- 判断给定文件名是否是一个目录
var_dump(is_dir("./test.txt"));
echo "<br>";

//is_executable -- 判断给定文件名是否可执行
var_dump(is_executable("./test.txt"));
echo "<br>";

//is_file -- 判断给定文件名是否为一个正常的文件
var_dump(is_file("./test.txt"));
echo "<br>";

//is_link -- 判断给定文件名是否为一个符号连接
var_dump(is_link("./test.txt"));
echo "<br>";

//is_readable -- 判断给定文件名是否可读
var_dump(is_readable("./test.txt"));
echo "<br>";

//is_uploaded_file -- 判断文件是否是通过 HTTP POST 上传的
var_dump(is_uploaded_file("./test.txt"));
echo "<br>";

//is_writable -- 判断给定的文件名是否可写
var_dump(is_writeable("./test.txt"));
echo "<br>";

//is_writeable -- is_writable() 的别名
?>

2. 文件的属性
             file_exists();   检查文件或目录是否存在
             filesize();
             is_readable();
             is_writeable();
             filectime();
             filemtime();
             fileatime();
             stat();

<?php
/*
file_exists();   检查文件或目录是否存在
filesize();
filectime();
filemtime();
fileactime();
stat();
*/
$filename="./test.txt";

//file_exists();   检查文件或目录是否存在
var_dump(file_exists($filename));
echo "<br>";

//filesize();    取得文件大小
echo filesize($filename);
echo "<br>";

//filectime();    取得文件的 inode 修改时间
echo date("F d Y H:i:s.", filectime($filename));
echo "<br>";

//filemtime();  取得文件修改时间
echo date("F d Y H:i:s.", filemtime($filename));
echo "<br>";

//fileatime();   取得文件的上次访问时间

echo date("F d Y H:i:s.",fileatime($filename));
echo "<br>";

//stat();   给出文件的信息
echo "<pre>";
print_r(stat($filename));
echo "</pre>";
echo "<br>";
?>

3.文件的属性
            相对路径:(相对于当前目录的上级和下级目录)
                .    当前目录
                ..     上一级目录
            路径分隔符:
                在Linux/Unix使用“/”
                在windows中使用“\”和“/”都可以
            绝对路径:
                /  根路径
                /images/imdex.php
                这个根指的是操作系统的根或是存放网站的文档根目录
                    如果是在服务器中执行(通过PHP文件处理函数执行)路径,则“根”指的是操作视同的根
                    如果程序是下载的客户端,再访问服务器中的文件时,只有通过Apache访问,“根”指的是文档根目录。
            basename(url);   返回路径中的文件名部分
            dirname(url);    返回路径中的目录部分
            pathinfo(url);   返回文件路径的信息

<?php
$url1="./aaa/bbb/index.php";
$url2="../www/yy/login.rar";
$url3="C:/appserv/www/demo.html";
$url4="http://localhost/yyy/ww.gif";

//返回路径中的文件名部分
echo basename($url1)."<br>";
echo basename($url2)."<br>";
echo basename($url3)."<br>";
echo basename($url4)."<br>";
echo "<hr>";

//返回路径中的目录部分
echo dirname($url1)."<br>";
echo "<hr>";

//返回文件路径的信息
echo "<pre>";
print_r(pathinfo($url1));
echo "<pre>";
?>

4.文件的操作相关的函数
            创建文件  touch("文件名");
            删除文件  unlink("文件路径");
            移动文件  为文件重新命名  rename("当前文件路径","目标文件路径");
            复制文件  copy("当前","目标");

<?php
//创建文件
touch ("./test.txt");

//删除文件
//unlink("D:/APMServ5.2.6/www/htdocs/php/3/1/test.txt");
//unlnk("test.txt");

//移动文件  为文件重新命名
//rename("./test.txt", "d:/test2.txt");

//复制文件,将前者复制到后者中
copy("test.txt", "d:/test4.txt")
?>

一定要有PHP执行这个文件的权限

和权限设置有关的函数(在Linux下)
        chgrp----改变文件所属的组
        chmod----改变文件模式
        chown----改变文件的所有者
        filegroup-----取得文件的组
        fileowner-----取得文件的所有者

PHP中的文件系统处理(一)的更多相关文章

  1. 79 umount-卸除目前挂在Linux目录中的文件系统

    Linux umount命令用于卸除文件系统. umount可卸除目前挂在Linux目录中的文件系统. 语法 umount [-ahnrvV][-t <文件系统类型>][文件系统] 参数: ...

  2. 在nodeJS中操作文件系统(二)

    在nodeJS中操作文件系统(二)   1. 移动文件或目录 在fs模块中,可以使用rename方法移动文件或目录,使用方法如下:     fs.rename(oldPath,newPath,call ...

  3. 在Node.js中操作文件系统(一)

    在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作 ...

  4. 【翻译自mos文章】在11gR2 rac环境中,文件系统使用率紧张,而且lsof显示有非常多oraagent_oracle.l10 (deleted)

    在11gR2 rac环境中,文件系统使用率紧张.而且lsof显示有非常多oraagent_oracle.l10 (deleted) 參考原文: High Space Usage and "l ...

  5. 智能IC卡中的文件系统

    1.文件系统是COS的重要模块之一,它负责组织.管理.维护IC卡内存储的所有数据. 文件系统的设计和实现既是COS系统中最灵活.最有个性的部分,也是对系统整体结构影响最大的模块之一. 2.在IC卡内, ...

  6. nodejs中的文件系统

    . 目录 简介 nodejs中的文件系统模块 Promise版本的fs 文件描述符 fs.stat文件状态信息 fs的文件读写 fs的文件夹操作 path操作 简介 nodejs使用了异步IO来提升服 ...

  7. PHP中的文件系统函数(三)

    总算来到我们最关心的部分了,也就是 f 相关函数的操作.基本上大部分的文件操作都是以今天学习的这些内容为基础的,话不多说,我们就一个一个的来学习学习吧. 文件读取 文件的读取其实非常简单,fopen( ...

  8. PHP中的文件系统函数(二)

    这次我们来学习的是一些不是太常用,但却也非常有用的一些函数.它们中有些大家可能见过或者使用过,有一些可能就真的没什么印象了.它们都是 PHP 中文件系统相关操作函数的一部分.存在即合理,或许只是我们的 ...

  9. PHP中的文件系统函数(一)

    从这篇文章开始,我们将学习一系列的 PHP 文件系统相关函数.其实这些函数中,有很多都是我们经常用到的,大家并不需要刻意地去记住它们,只要知道有这么个东西,在使用的时候记得来查文档就可以了. 文件路径 ...

随机推荐

  1. HDUOJ---1236 排名(浙大考研题)

    排名 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  2. target标签对于优化用户体验的作用

    最近开始关注target="_blank"标签,是源于对咨询区的采纳工作.帖子内容页是在原页面加载,这样问题就来了,每采纳完一个问题,必须得后退好几次才可以,很不方便.后来按ctr ...

  3. Quoted-printable 编码介绍、编码解码转换

    求教,“=B9=A4=D7=F7=BC=F2=B1=A8” 这种是什么编码方式? Quoted-printable 可译为“可打印字符引用编码”.“使用可打印字符的编码”,我们收邮件,查看信件原始信息 ...

  4. wordpress添加子主题

    使用子主题,可以继承父主题的所有功能,同时避免因为直接使用父主题在父主题升级时造成文件丢失的情况. 子主题的创建很简单: 1.首先在主题文件夹下(wp-content\themes)建立一个文件夹,用 ...

  5. CentOS 常用命令大全

    下面,就给大家介绍这些CentOS常用命令. 一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep &qu ...

  6. 本地调试WordPress计划终告失败

    小猪本来想把博客的网站数据迁移到自己的电脑上面,mysql数据库还是放在主机供应商,这样就能缓解一下每次写博客时访问速度捉急的状况. 计划是美满的,但是只到实施的时候才发现各种问题.先是直接运行程序时 ...

  7. HTML5+CSS3学习目录

       目录 第YI章 Web开发新时代 第2章 从HTML.XHTML到HTML5 第3章 创建HTML5文档 第4章 实战HTML5表单 第5章 实战HTML5画布 第6章 HTML5音频与视频 第 ...

  8. ACM心情总结

    已经快要12点了,然而还有5000字概率论论文没有动.在论文里,我本来是想要总结一下ACM竞赛中出现过的概率论题目,然而当敲打第一段前言的时候,我就迟疑了. 我问自己,ACM竞赛到底有什么现实意义. ...

  9. ROS程序编辑器

    我找到的比较好用的ROS代码编辑器,对于emacs和vim等神级编辑器不能自动补全,对于我这种新手编译出错都是字母打错了, 因此果断回避,找到了一款叫做code blocks的编辑器,在软件中心就能下 ...

  10. bzoj 2820 YY的GCD 莫比乌斯反演

    题目大意: 给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对 这里就抄一下别人的推断过程了 后面这个g(x) 算的方法就是在线性 ...