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 相关文章推荐
使用zend studio for eclipse不能激活代码提示功能的解决办法
Oct 11 PHP
探讨php中header的用法详解
Jun 07 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
Nov 14 PHP
PHP判断上传文件类型的解决办法
Oct 20 PHP
YII使用url组件美化管理的方法
Dec 28 PHP
PHP内核学习教程之php opcode内核实现
Jan 27 PHP
Yii2分页的使用及其扩展方法详解
May 23 PHP
php微信开发之上传临时素材
Jun 24 PHP
PHP中CheckBox多选框上传失败的代码写法
Feb 13 PHP
php实现用户登陆简单实例
Apr 04 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
Laravel5.4简单实现app接口Api Token认证方法
Aug 29 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动态创建Web站点的方法
2011/08/14 PHP
PHP实现的sqlite数据库连接类
2014/12/12 PHP
thinkPHP事务操作简单案例分析
2019/10/17 PHP
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
用js模拟struts2的多action调用示例
2014/05/19 Javascript
Javascript Objects详解
2014/09/04 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
2018/03/12 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
Vue组件Draggable实现拖拽功能
2018/12/01 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
浅谈js中的bind
2019/03/18 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
python获取本机外网ip的方法
2015/04/15 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
python实现吃苹果小游戏
2020/03/21 Python
PyQt5实现画布小程序
2020/05/30 Python
Python3基于print打印带颜色字符串
2020/07/06 Python
python3字符串输出常见面试题总结
2020/12/01 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
巴西图书和电子产品购物网站:Saraiva
2017/06/07 全球购物
小学英语教师先进事迹
2014/05/28 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
民事代理词范文
2015/05/25 职场文书
dubbo服务整合zipkin详解
2021/07/26 Java/Android
直播实况, OMG破敌三路五十分钟大战神技局摩托车
2022/04/01 DOTA
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA