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维护文件系统
Oct 09 PHP
让你的网站首页自动选择语言转跳
Dec 06 PHP
用来解析.htgroup文件的PHP类
Sep 05 PHP
php获取$_POST同名参数数组的实现介绍
Jun 30 PHP
php把session写入数据库示例
Feb 26 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
php使用socket post数据到其它web服务器的方法
Jun 02 PHP
如何利用预加载优化Laravel Model查询详解
Aug 11 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 PHP
PHP 并发场景的几种解决方案
Jun 14 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的ajax框架xajax入门与试用介绍
2010/12/19 PHP
iOS10推送通知开发教程
2016/09/19 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
PDO::exec讲解
2019/01/28 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
JS本地刷新返回上一页代码
2016/07/25 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
Python定时执行之Timer用法示例
2015/05/27 Python
Python运算符重载详解及实例代码
2017/03/07 Python
python numpy格式化打印的实例
2018/05/14 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
Django实现单用户登录的方法示例
2019/03/28 Python
500行Python代码打造刷脸考勤系统
2019/06/03 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
如何获取Python简单for循环索引
2019/11/21 Python
python 负数取模运算实例
2020/06/03 Python
html5 touch事件实现页面上下滑动效果【附代码】
2016/03/10 HTML / CSS
英国和世界各地鲜花速递专家:Arena Flowers
2018/02/10 全球购物
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
中国制造网:Made-in-China.com
2019/10/25 全球购物
Magee 1866官网:Donegal粗花呢外套和大衣专家
2019/11/01 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
企业宣传策划方案
2014/05/29 职场文书
服务宗旨标语
2014/07/01 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
如何用JS实现网页瀑布流布局
2021/04/24 Javascript
pytorch 使用半精度模型部署的操作
2021/05/24 Python
Python中的socket网络模块介绍
2022/07/23 Python