php中的filesystem文件系统函数介绍及使用示例


Posted in PHP onFebruary 13, 2014

basename — 返回路径中的文件名部分
dirname — 返回路径中的目录部分

string basename ( string $path [, string $suffix ] )
string dirname ( string $path )

示例:

<?php
$path = "/home/httpd/phpha.com/index.php";
echo basename($path);
echo basename($path, '.php');
echo basename($path, '.xxx');
echo dirname($path);
?>
//结果:
index.php
index
index.php
/home/httpd/phpha.com

说明:如果文件名是以正确的suffix结束的,那这一部分也会被去掉。

chgrp — 改变文件所属的组
chown — 改变文件的所有者
chmod — 改变文件模式

bool chmod ( string $filename , int $mode )

示例:

<?php
chmod('/home/phpha.txt', 0755);
?>
copy — 拷贝文件
if(copy('index.php', 'index.php.bak')){
 echo 'copy success';
}
?>
//在当前目录下生存了index.php.bak文件

delete — 参见 unlink 或 unset
unlink — 删除文件

<?php
if(unlink('index.php.bak')){
 echo 'unlink success';
}
?>
//删除了index.php.bak

disk_free_space — 返回目录中的可用空间
disk_total_space — 返回一个目录的磁盘总大小
diskfreespace — disk_free_space 的别名

<?php
//在 Windows 下:
echo disk_free_space("C:"), '<br />';
echo disk_total_space("C:");
?>
//结果:返回的是字节数
17433419776
32218386432

fopen — 打开文件或者 URL
fgets — 从文件指针中读取一行
feof — 测试文件指针是否到了文件结束的位置
fread — 读取文件(可安全用于二进制文件)
fwrite — 写入文件(可安全用于二进制文件)
fclose — 关闭一个已打开的文件指针

<?php
$fp = fopen('hello.txt', 'r'); //打开一个文件
$n = 1;
while(!feof($fp)){
 echo $n, ' - ', fgets($fp), '<br />'; //读取一行并输出
 $n++;
}
fclose($fp); //关闭文件
?>
//输出:
1 - Welcome to my blog:
2 - https://3water.com

fgetc — 从文件指针中读取字符
fgetcsv — 从文件指针中读入一行并解析 CSV 字段
fgetss — 从文件指针中读取一行并过滤掉 HTML 标记
fputcsv — 将行格式化为 CSV 并写入文件指针
fputs — fwrite 的别名

<?php
$fp = fopen('hello.txt', 'r');
while(false !== ($char = fgetc($fp))){
    echo $char, '-';
}
?>
//输出:
W-e-l-c-o-m-e- -t-o- -m-y- -b-l-o-g-:- - -h-t-t-p-:-/-/-b-l-o-g-.-p-h-p-h-a-.-c-o-m-

file_exists — 检查文件或目录是否存在

<?php
if(file_exists('hello.txt')){
 echo 'hello.txt exists';
}else{
 echo 'hello.txt not exists';
}
?>

[/code]
//输出:
hello.txt exists
[/code]

file_get_contents — 将整个文件读入一个字符串
file_put_contents — 将一个字符串写入文件
file — 把整个文件读入一个数组中

<?php
if($content = file_get_contents('hello.txt')){
 file_put_contents('hello.txt.bak', $content);
}
?>
//相当于copy了一份hello.txt
<?php
if($content = file('hello.txt')){
 print_r($content);
}
?>
//数组形式,每一行是一个数组成员
Array
(
    [0] => Welcome to my blog:
    [1] => https://3water.com
)

fileatime — 取得文件的上次访问时间
filectime — 取得文件的 inode 修改时间
filegroup — 取得文件的组
fileinode — 取得文件的 inode
filemtime — 取得文件修改时间
fileowner — 取得文件的所有者
fileperms — 取得文件的权限
filesize — 取得文件大小
filetype — 取得文件类型

<?php
echo fileatime('hello.txt');
echo filectime('hello.txt');
echo filegroup('hello.txt');
echo filemtime('hello.txt');
echo fileowner('hello.txt');
echo substr(sprintf('%o', fileperms('hello.txt')), -4);
echo filesize('hello.txt');
echo filetype('hello.txt');
?>
//输出:
1353329003
1353329003
0
1353330002
0
0666
42
file

flock — 轻便的咨询文件锁定
fnmatch — 用模式匹配文件名
fflush — 将缓冲内容输出到文件
fpassthru — 输出文件指针处的所有剩余数据
fscanf — 从文件中格式化输入
fseek — 在文件指针中定位
fstat — 通过已打开的文件指针取得文件信息
ftell — 返回文件指针读/写的位置
ftruncate — 将文件截断到给定的长度
glob — 寻找与模式匹配的文件路径

is_dir — 判断给定文件名是否是一个目录
is_executable — 判断给定文件名是否可执行
is_file — 判断给定文件名是否为一个正常的文件
is_link — 判断给定文件名是否为一个符号连接
is_readable — 判断给定文件名是否可读
is_uploaded_file — 判断文件是否是通过 HTTP POST 上传的
is_writable — 判断给定的文件名是否可写
is_writeable — is_writable 的别名
说明:以上函数都是用来判断文件或目录是否符合对应的条件,返回TRUE或FALSE。

lchgrp — Changes group ownership of symlink
lchown — Changes user ownership of symlink
link — 建立一个硬连接
linkinfo — 获取一个连接的信息
lstat — 给出一个文件或符号连接的信息
mkdir — 新建目录
move_uploaded_file — 将上传的文件移动到新位置
parse_ini_file — 解析一个配置文件
pathinfo — 返回文件路径的信息
pclose — 关闭进程文件指针
popen — 打开进程文件指针
readfile — 输出一个文件
readlink — 返回符号连接指向的目标
realpath — 返回规范化的绝对路径名
rename — 重命名一个文件或目录
rewind — 倒回文件指针的位置
rmdir — 删除目录
set_file_buffer — stream_set_write_buffer 的别名
stat — 给出文件的信息
symlink — 建立符号连接
tempnam — 建立一个具有唯一文件名的文件
tmpfile — 建立一个临时文件
touch — 设定文件的访问和修改时间
umask — 改变当前的 umask
clearstatcache — 清除文件状态缓存

PHP 相关文章推荐
PHP+MySQL投票系统的设计和实现分享
Sep 23 PHP
nginx+php-fpm配置文件的组织结构介绍
Nov 07 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
Jun 03 PHP
PHP引用符&amp;的用法详细解析
Aug 22 PHP
PHP实现批量修改文件后缀名的方法
Jul 30 PHP
PHP模块化安装教程
Jun 01 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
Nov 05 PHP
PHP与SQL语句常用大全
Dec 10 PHP
thinkPHP多表查询及分页功能实现方法示例
Jul 03 PHP
基于php流程控制语句和循环控制语句(讲解)
Oct 23 PHP
PHP实现分布式memcache设置web集群session同步的方法
Apr 10 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
php实现cc攻击防御和防止快速刷新页面示例
Feb 13 #PHP
php中hashtable实现示例分享
Feb 13 #PHP
php实现下载限制速度示例分享
Feb 13 #PHP
php解压文件代码实现php在线解压
Feb 13 #PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
Feb 13 #PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
Feb 13 #PHP
使用swoole扩展php websocket示例
Feb 13 #PHP
You might like
php的hash算法介绍
2014/02/13 PHP
PHP下载生成的csv文件及问题总结
2015/08/06 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
安装vue-cli报错 -4058 的解决方法
2017/10/19 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
NodeJs crypto加密制作token的实现代码
2019/11/15 NodeJs
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
[01:15:15]VG VS EG Supermajor小组赛B组胜者组第一轮 BO3第二场 6.2
2018/06/03 DOTA
Python正则替换字符串函数re.sub用法示例
2017/01/19 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
django模板获取list中指定索引的值方式
2020/05/14 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
python中reload重载实例用法
2020/12/15 Python
诗普兰迪官方网站:Splendid
2018/09/18 全球购物
简历中的自我评价范文
2014/02/05 职场文书
军训学生自我鉴定
2014/02/12 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
好学生评语大全
2014/05/05 职场文书
音乐幼师求职信
2014/07/09 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
男人帮观后感
2015/06/18 职场文书
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
Python学习之os包使用教程详解
2022/03/21 Python
mysql数据插入覆盖和时间戳的问题及解决
2022/03/25 MySQL