PHP文件操作
来源:互联网 发布:南京智推数据是干嘛的 编辑:程序博客网 时间:2024/06/05 02:37
PHP文件编程
存储在某种设备中的一段数据流都可以称作为文件
文件类型:普通文件、链接文件、目录文件、设备文件
几个特殊的设备文件:
/dev/tty 终端/dev/null 就是Linux中的一个黑洞/dev/zero 可以得到无限多的0
inode包含的内容
1. 文件的字节数
2. 文件的uid和gid
3. 文件的读、写、执行权限
4. 文件的时间戳 ctime atime、mtime
5. 链接数:有多少文件名指向这个inode
6. 文件数据block的位置
ext文件系统的特点
ext3是一种日志式文件系统,最长文件名255字节,最大文件大小16G-64T(取决于块尺寸的大小)、最大的卷容量2T-32T,最大文件数可变
XFS也是日志式的文件系统,文件名最长255字节,最大文件大小 8exbibytes-1byte
最大卷容量16exbibytes centos7的默认文件系统
文本文件和二进制文件的不同?
1. 文本文件是基于字符编码的文件
2. 除了文本文件之外的文件都是二进制文件,二进制文件编码是变长的,灵活利用率高
3. 两者读写的差别仅体现在回车换行符的处理上,文本文件会忽略
4. 也就是文本文件其实是一种特殊的二进制文件
文件的打开方式
fopen($file,mode)
文件打开的特殊标记
t
可以将 \r
转换成 \r\n
b
强制文件打开方式为二进制模式
word
文档的本质是一种压缩文件,里边的图片资源会被放到media目录下 .exe/.dll
文件其实也是压缩文件
使用pack将文件写入二进制文件
exif_imagetype
获取文件类型 feek
文件指针中定位 ftell
返回文件指针读写的位置 rewind
倒回文件指针的位置 feof
判断文件是否到了最后 uEditor
是使用文件指针偏移加载文件内容 自带文本编辑器
是一次性读取全部的文件内容到内存中
随机读写文件的应用:
- 分析读取特定的二进制文件内容,如纯真ip库、QQ本地消息,图片元数据信息等
- 创建特定的二进制文件,如pdf、word、chm等
- 对大文件进行切割,如视频切割器等
- 创建自定义的二进制文件,实现自己的独特需求,eg 设计自己的数据文件
PHP中XML处理
DOM
一次性将内容读入内存中,内存问题需要注意 SimpleXML
小文件可以选择,但是不支持命名空间 XMLReader
边读边操作,拉取模型 XMLParse
推送模型
PHP中json的处理 json_encode
目前只能处理utf8编码的数据 json_unescaped_unicode
让json中的中文直接显示,而不是encode后的编码显示 json_last_error()
可以查看json解析失败返回的错误码 json_last_error_msg()
可以查看json解析失败返回的错误
CSV文件处理
fputcsv
写入csv格式的内容,默认分隔符是,
fgetcsv
读取csv格式的内容
fopen支持的协议
file://http://ftp://php:// php://stdin | stdout | stderr可以直接使用常量STDIN | STDOUT替代zlib://data://glob:// 查找匹配的文件路径模式phar:// php归档ssh2:// Secure Shell2rar:// RARogg:// 音频流expect:// 处理交互式的流
如何实现超大文件上传?(不断的读取本地文件,然后拼装在一起)
1. 客户端控件、需要本地安装指定控件
2. 采用swfUpload、uploadify等flash组件
3. 使用XMLHttpRequest2.0实现
XMLHttpRequest2.0的新特性:1. 可以上传文件2. 可以设置http请求超时时间3. 可以使用formData对象管理表单数据4. 可以跨域请求5. 可以获取服务端的二进制数据6. 可以获得数据传输的进度信息
- php操作php文件
- 【php】目录操作 文件操作
- PHP操作文件问答
- PHP文件操作类
- PHP操作文件问答
- php文件操作
- PHP文件操作
- php写文件操作
- php文件操作
- PHP 文件读写操作
- php 操作csv文件
- PHP文件操作
- PHP读写文件操作
- php文件上传操作
- php 文件操作
- php 文件操作1
- php 文件操作
- PHP学习文件操作
- 设置网络的bat
- beego项目实现多图上传
- vm虚拟机设置静态网路地址及时间设置
- Mybatis介绍之缓存——一级缓存和二级缓存
- https原理
- PHP文件操作
- PHP-利用二叉堆实现TopK-算法
- ubuntu 14.04 iptux的界面总是缩小怎么解决
- Binder学习指南
- 修改phpmyadmin中的默认超时时间
- md5加密
- hibernate单向一对一关联映射(one-to-one)XML与注解版
- windows操作系统服务管理
- mysql 导入脚本,如果数据量大,可以用phpstudy 里的数据库导入导出工具