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的FTP学习(三)
Oct 09 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
Feb 21 PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 PHP
php 常用算法和时间复杂度
Jul 01 PHP
php读取mysql的简单实例
Jan 15 PHP
php获取一个变量的名字的方法
Sep 05 PHP
PHP实用函数分享之去除多余的0
Feb 06 PHP
PHP的引用详解
Feb 22 PHP
PHP消息队列用法实例分析
Feb 12 PHP
php简单实现短网址(短链)还原的方法(测试可用)
May 09 PHP
thinkphp jquery实现图片上传和预览效果
Jul 22 PHP
Yii框架表单提交验证功能分析
Jan 07 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
在smarty中调用php内置函数的方法
2013/02/07 PHP
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
2014/11/19 PHP
PHP排序算法类实例
2015/06/17 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
自己开发Dojo的建议框架
2008/09/24 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
js实现touch移动触屏滑动事件
2015/04/17 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
2016/12/27 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
Vue中axios拦截器如何单独配置token
2019/12/27 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
Python3.2中的字符串函数学习总结
2015/04/23 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
QML实现钟表效果
2020/06/02 Python
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
会计专业毕业生自我评价
2013/09/25 职场文书
关于赌博的检讨书
2014/01/08 职场文书
活动倡议书范文
2014/05/13 职场文书
实习公司领导推荐函
2014/05/21 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python