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 相关文章推荐
支持数组的ADDSLASHES的php函数
Feb 16 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
php中\r \r\n \t的区别示例介绍
Feb 08 PHP
php实现最简单的MVC框架实例教程
Sep 08 PHP
php中最简单的字符串匹配算法
Dec 16 PHP
PHP实现动态柱状图改进版
Mar 30 PHP
基于PHP如何把汉字转化为拼音
Dec 11 PHP
PHP进程通信基础之信号
Feb 19 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 PHP
PHP调用接口用post方法传送json数据的实例
May 31 PHP
Smarty模板配置实例简析
Jul 20 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简单防盗链实现方法
2015/07/29 PHP
PHP图片加水印实现方法
2016/05/06 PHP
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
2014/05/21 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
2016/07/22 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
2016/11/17 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
微信小程序实现图片上传功能
2018/05/28 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
ant design pro中可控的筛选和排序实例
2020/11/17 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
python实现的防DDoS脚本
2011/02/08 Python
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
简单的Python抓taobao图片爬虫
2014/10/26 Python
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
tensorflow使用L2 regularization正则化修正overfitting过拟合方式
2020/05/22 Python
浅析Python __name__ 是什么
2020/07/07 Python
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
环境科学专业大学生自荐信格式
2013/09/21 职场文书
学校食堂食品安全承诺书
2015/04/29 职场文书
呐喊读书笔记
2015/06/30 职场文书
幼儿园卫生保健制度
2015/08/05 职场文书