php中的文件(夹)操作函数

//打开

fopen()的第2参数,
r:从文件头开始读
w:只写模式,若不存在,则创建;若存在,则覆盖写
a:追加写,若不存在,则创建
+:?

$fp = fopen($path, 'a');//得到文件句柄

//写入
fwrite($fp, $str);
file_put_contents();//等于fopen+fwrite+fclose

//读
fgets():每次读取一行数据,返回str
fgetss():相当于fgets()+strips_tag();返回str
fgetcsv($fp, 100, '\t')://读取一行,并且在制表符的地方,把内容分行,返回array
fgetc()://每次读取一个字符,返回str(这函数有个严重缺点,它会返回文件结束符EOF,而fgets不会,然而你肯定不喜欢出现EOF,因此需要判断feof()

fread($fp, int length)://从$fp中读取任意长度字节.
readfile()://本质等于 fopen +echo + fclose;文件整个读取并输出
fpassthru()://相对于readfile阉割了fopen,需要先fopen,传入文件句柄$fp
file()://相对于readfile()阉割了输出,把结果返回至一个数组,每一行作为一个元素
file_get_contents();//一次读取整个文件(文件路径可以写成url_path)
//读结束

//其他文件函数
feof();//判断当前是否文件末尾
file_exists($file_path)://判断文件是否存在
filesize($file_path)://查看文件大小

//文件$fp定位
rewind()://复位文件指针
fseek($fp, int length, int start)://将文件指针从start位置移动length个字节单位,
ftell()://以字节单位报告文件指针当前位置

//文件锁
flock($fp, int $operation)://第2参数有下列值(LOCK_SH:读锁; LOCK_EX:写锁; LOCK_UN:释放锁; LOCK_NB:防止加锁阻塞)

php文件上传
文件上传后,文件会保存在php临时目录,如果脚本结束前不移动/复制/重名,该文件将被删除。
$_FILES['userfile']['tmp_name']; //临时存储位置
$_FILES['userfile']['name']://文件名称
$_FILES['userfile']['size']; $_FILES['userfile']['type']://分别为上传文件的字节大小和类型
可以使用 basename()://来获取文件的名称,也可以通过该函数修改文件名称
例如:basename($path)://'index.php'; // basename($path, '.php')://'index';
还有个函数:dirname($path)://获取文件路径

//文件夹操作(和上面类似)
opendir();
readdir();//该函数返回文件名(可能会出现0的文件夹名, 并且.当前目录和..上一级目录这种目录也会显示出来,因此需要过滤)
closedir();
例如:
$dir = opendir($dir);
$file = readdir($dir);
if ($file != '.' && $file != '..')
(此外,php有提供dir()方法去实例化一个文件操作对象,该对象拥有read, close, rewind等方法)
mkdir();//创建文件夹,但是mkdir($path, 0777);得到的结果很可能是个0755权限的文件夹(会自动减去umask()码);
chomode($path, '0777')://更改权限
rmdir();//删除文件夹.(非空文件夹不允许删除)

//文件操作
touch()创建rename()重命名unlink()删除copy()复制文件

//文件属性
fileatime()://最近访问时间戳 filemtime()://最近被修改时间戳
filetype()://返回文件类型信息 filesize()://返回文件大小
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值