文件系统处理的作用:

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("目录或文件名")

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() 的别名

2. 文件的属性

file_exists();

filesize();

is_readable();

is_writeable();

filectime();

filemtime();

fileactime();

stat();

3. 和文件路径相关的函数

相对路径:相对于当前目录的上级和下级目录

. 当前目录

.. 上一级目录

./php/apache/index.php

php/apahce/index.php

login.php

./login.php

../images/tpl/logo.gif

路径分隔符号

linux/Unix "/"

windows ""

DIRECTORY_SEPARATOR 为不同平台,在Windows Linux /

不管是什么操作系统PHP的目录分割符号都支技 / (Linux)

在PHP和Apache配置文件中如果需要指定目录,也使用/作为目录符号

绝对路径:

/ 根路径

/images/index.php

指的操作系统的根

指的是存放网站的文档根目录

分情况

如果是在服务器中执行(通过PHP文件处理函数执行)路径 则 “根”指的就是操作系统的根

如果程序是下载的客户端,再访问服务器中的文件时,只有通过Apache访问,“根”也就指的是文档根目录

http://www.xsphp.com/logo.gif

basename(url)

dirname(url)

pathinfo(url)

4. 文件的操作相关的函数

创建文件 touch("文件名")

删除文件 unlink("文件路径");

移动文件 为文件重新命名 rename("当前文件路径", “目录为文件路径”)

复制文件 copy("当前", “目标”);

一定要有PHP执行这个文件权限, Apache, 一个用户

和权限设计有关的函数

ls -l 或 ll

_rwxrwxrwx 777

_ 类型 _文件 d 表示是目录 l b

rwx 表这个文件的拥有者 r读 w写 x执行

rwx 表这个文件的拥有者所在的组 r读 w写 x执行

rwx 其它用户对这个为文件的权限 r读 w写 x执行

r 4

w 2

x 1

7 7 7 4+2+1 4+2+1 4+2+1

rwx rwx rwx

644

4+2 4 4

rw_ r__ r__

754

chmod u=rwx,g=rw,o=x

chmod 777 demo.php

chmod 644 demo.html

chown mysql demo.php

chgrp apache demo.php

chgrp -- 改变文件所属的组

chmod -- 改变文件模式

chown -- 改变文件的所有者

filegroup -- 取得文件的组

fileowner -- 取得文件的所有者

5. 文件的打开与关闭(读文件中的内容, 向文件中写内容)

读取文件中的内容

file_get_contents(); //php5以上

file()

readfile();

不足:全部读取, 不能读取部分,也不能指定的区域

fopen(URL, mode)

本地文件:

./test.txt

c:/appserv/www/index.html

/usr/local/apahce/index.html

远程:

http://www.baidu.com

fopen("./test.txt", "a+")

fwrite fread

r , 以只读模式打开文件

r+ 写

w, 以只写的方式打开,如果文件不存在,则创建这个文件,并写放内容,如果文件存在,并原来有内容,则会清除原文件中所有内容,再写入(打开已有的重要文件)

w+ 除了可以写用fwrite, 还可以读fread

a 以只写的方式打开,如果文件不存在,则创建这个文件,并写放内容,如果文件存在,并原来有内容,则不清除原有文件内容,再原有文件内容的最后写入新内容,(追加)

a+除了可以写用fwrite, 还可以读fread

b 以二进制模式打开文件(图,电影)

t 以文本模式打开文件

fread() // 第一个是读取指定长度的字符

fgetc() //一次从文件中读取一个字符

fgets() //一次从文件中读取一行字符

feof($file); 如果读取文件出错,或到文件结束,则返回真

写入文件

file_put_contents(“URL”, “内容字符串”); //php5以上

如果文件不存在,则创建,并写入内容

如果文件存在,则删除文件中的内容,重新写放

不足: 不能以追加的方式写,也不能加锁

fopen()

fwrite() 别名 fputs

第一个参数是文件资源(fopen返回来的),第个参数是写的内容

本地文件:

./test.txt

c:/appserv/www/index.html

/usr/local/apahce/index.html

远程:

http://www.baidu.com

http://www.163.com

ftp://user@pass:www.baidu.com/index.php

6. 文件内部移动指针

ftell($file) //返回当前文件针的位置

fseek($file, 10);

fread();

rewind();

7. 文件的锁定一些机制处理

目录的处理

opendir()

readdir()

closedir()

rewinddir()

创建目录

mkdir(); //创建一个空目录

删除目录

rmdir(); //只可以删除空目录

fopen文件路径怎么写_PHP文件上传相关推荐

  1. fopen文件路径怎么写_php的多功能文件操作类

    本类为文件操作类,实现了文件的建立,写入,删除,修改,复制,移动,创建目录,删除目录,列出目录里的文件等功能,路径后面别忘了加"/" 创建指定路径下的指定文件 * @param s ...

  2. linux绝对路径写法,javalinux获取文件路径怎么写

    1. java linux怎么获取文件路径 一般文件路径在windows中用 / 表示,但是在其他系统平台下比如linux中就不是 / 所以java给我们提供了一个与平台无关的表示路径的常量 File ...

  3. java 文件路径怎么写_java本地文件路径怎么写

    1. java里文件路径怎么写 File file = new File("D:\\123.txt"); 你这种不用绝对路径是不行的, 只有一个方法,在web工程启动servlet ...

  4. JSP中的文件操作:数据流、File类、文件浏览、目录操作、上传下载

    ​ 文件可以永久地存储信息,从本质上讲文件就是存放在盘上的一系列数据的集合.应用程序如果想长期保存数据,就必须将数据存储到文件中,这就涉及到文件的操作.而在编写网站应用程序的过程中,有许多地方要对文件 ...

  5. java web文件夹_JAVA WEB项目文件夹上传下载解决方案

    这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...

  6. c 服务器文件路径,c打开服务器文件路径

    c打开服务器文件路径 内容精选 换一换 文件作用:可以关闭/打开监听端口.指定监听端口.指定监听IP等.文件路径:Atlas 300场景下,在Host侧服务器上,在~/ide_daemon目录下查看i ...

  7. vue-simple-uploader实现多文件/文件夹以及可拖拽上传

    vue-simple-uploader的简单使用 1.效果图展示 2.安装 3.vue2使用(vue3使用会报错) 4.代码 vue-simple-uploader是基于simple-uploader ...

  8. html input批量选择文件路径,你不知道的 input 之文件选择(accept、capture、multiple、webkitdirectory)...

    前段时间写了一个上传文件前预览的功能,用于 pc 端. 这次又要测试一下移动端的兼容性,在客户端内使用. 正好整理一下,先上测试地址:DEMO 地址,目前有这些功能.动态设置 accept.captu ...

  9. python进阶14文件路径(找不到文件)

    原创链接:python进阶14文件路径(找不到文件) 开发时遇到问题,文件路径不正确,找不到文件等等,都是这一类问题. curdir,argv,file 举例: 文件1代码: 1 2 3 4 5 6 ...

最新文章

  1. Cocos 属性常用参数
  2. 关于S3C2440扩展SDRAM的地址连线
  3. Android动态加载黑科技 动态创建Activity模式
  4. BLE 绑定流程(转自襄坤在线)
  5. 在Linux上搭建 一个简单的vsftpd服务器
  6. boost::math模块具有输出和输入方面的非有限环回的简要基本测试
  7. C#磁盘遍历——递归
  8. 工业以太网交换机与以太网光端机的区别
  9. linux安装静默安装was7,WAS7.0 - 安装并升级WAS7.0.0.31(静默安装)
  10. vue实现查询多条记录_vue.js 实现天气查询
  11. 数据结构期末复习之散列表的查找
  12. LINQ之Order By
  13. nginx的web基础
  14. CANTest软件安装成功经验
  15. pdf转换器免注册码
  16. Canvas API - 江苏黑马 - 博客园
  17. h1z1最新消息服务器,h1z1服务器在哪 | 手游网游页游攻略大全
  18. 【C语言】一文彻底理解指针,通俗易懂
  19. ppt中加载html,PPT页面中插入浏览器方法 PPT中插入浏览器教程-PPT家园
  20. 金融IT应小心陷入单纯追求技术目标的误区

热门文章

  1. DDD专家张逸:复杂与架构演进的关系
  2. 出身寒门的程序员,如何改变命运?
  3. 微信开放平台公众号第三方平台开发 教程一 平台介绍
  4. jeewx 团队微信开发招募新人
  5. Apple Notification Center Service--ANCS【转】
  6. Myeclipse10.7安装git插件并将Java项目上传到码云(github)
  7. Android -- 自定义ScrollView实现放大回弹效果
  8. 【Android】ListView ViewHolder ArrayIndexOutOfBoundsException: length=2; index=2
  9. 程序运行 栈帧分析 以及 修改栈帧中数据以及函数地址
  10. OJ1180: 成绩统计(结构体专题)(C语言)