首页 后端开发 php教程 php中的filesystem文件系统函数介绍及使用示例_PHP

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

Jun 01, 2016 am 11:55 AM
文件系统

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

复制代码 代码如下:
string basename ( string $path [, string $suffix ] )
string dirname ( string $path )

示例:
复制代码 代码如下:
$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 )

示例:

复制代码 代码如下:
chmod('/home/phpha.txt', 0755);
?>
copy — 拷贝文件

if(copy('index.php', 'index.php.bak')){
 echo 'copy success';
}
?>
//在当前目录下生存了index.php.bak文件

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

复制代码 代码如下:
if(unlink('index.php.bak')){
 echo 'unlink success';
}
?>
//删除了index.php.bak

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

复制代码 代码如下:
//在 Windows 下:
echo disk_free_space("C:"), '
';
echo disk_total_space("C:");
?>

复制代码 代码如下:
//结果:返回的是字节数
17433419776
32218386432

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

复制代码 代码如下:
$fp = fopen('hello.txt', 'r'); //打开一个文件
$n = 1;
while(!feof($fp)){
 echo $n, ' - ', fgets($fp), '
'; //读取一行并输出
 $n++;
}
fclose($fp); //关闭文件
?>

复制代码 代码如下:
//输出:
1 - Welcome to my blog:
2 - http://www.bitsCN.com

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

复制代码 代码如下:
$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 — 检查文件或目录是否存在

复制代码 代码如下:
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 — 把整个文件读入一个数组中

复制代码 代码如下:
if($content = file_get_contents('hello.txt')){
 file_put_contents('hello.txt.bak', $content);
}
?>
//相当于copy了一份hello.txt
if($content = file('hello.txt')){
 print_r($content);
}
?>
//数组形式,每一行是一个数组成员
Array
(
    [0] => Welcome to my blog:
    [1] => http://www.bitsCN.com
)

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

复制代码 代码如下:
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 — 清除文件状态缓存

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

修复事件ID 55,50,98,140磁盘错误在事件查看器 修复事件ID 55,50,98,140磁盘错误在事件查看器 Mar 19, 2024 am 09:43 AM

若您在Windows11/10的事件查看器中发现事件ID55、50、140或98,或遇到磁盘文件系统结构损坏且无法使用的错误,请按照以下指南解决此问题。什么是事件55,磁盘上的文件系统结构损坏和不可用的意思?第55届会议,Ntfs磁盘上的文件系统结构损坏且无法使用。请在卷上运行chkMSK实用程序当NTFS无法将数据写入事务日志时,会触发事件ID55的错误,这将导致NTFS无法完成无法写入事务数据的操作。这种错误通常发生在文件系统损坏的情况下,可能是由于磁盘上存在坏扇区或文件系统对磁盘子系统的不

如何应对Linux系统中的文件系统崩溃问题 如何应对Linux系统中的文件系统崩溃问题 Jun 29, 2023 pm 04:05 PM

如何应对Linux系统中的文件系统崩溃问题引言:随着计算机技术的不断发展,操作系统的稳定性和可靠性也变得越来越重要。然而,尽管Linux系统被广泛认为是一个稳定和可靠的操作系统,但仍然存在文件系统崩溃的可能性。文件系统崩溃可能会导致数据丢失和系统异常等严重后果。因此,本文将介绍如何应对Linux系统中的文件系统崩溃问题,以帮助用户更好地保护自己的数据和系统。

WIN10提示文件系统错误2147416359的处理方法 WIN10提示文件系统错误2147416359的处理方法 Mar 27, 2024 am 11:31 AM

1、按win+r进入运行窗口,输入【services.msc】回车即可。2、在服务窗口中,找到【windowslicensemanagerservice】,双击打开。3、在界面中,将启动类型改为【自动】,然后点击【应用→确定】。4、完成上面的设置,重启电脑即可。

fstab(文件系统表) fstab(文件系统表) Feb 19, 2024 pm 06:30 PM

fstab(FileSystemTable)是Linux系统中的一个配置文件,用于定义系统启动时挂载文件系统的规则。fstab文件位于/etc目录下,可通过手动创建或编辑器修改。每行规定一个要挂载的文件系统。每一行有六个字段,它们的意义如下:文件系统设备文件或UUID可用于指定要挂载的文件系统的设备,UUID是一个独特的标识符,可通过blkid命令获取设备的UUID。2.挂载点:指定文件系统要挂载到的目录,可以是绝对路径(例如/mnt/data)或者相对路径(例如../data)。3.文件系统类

不同之处:NTFS与FAT32 不同之处:NTFS与FAT32 Feb 18, 2024 pm 10:18 PM

NTFS和FAT32是两种常见的文件系统,用于组织和管理计算机硬盘上的数据。虽然它们都具有一些共同的功能和特点,但在许多方面也有一些重要的区别。本文将探讨NTFS和FAT32之间的几个主要区别。功能和性能:NTFS(NewTechnologyFileSystem)是微软Windows操作系统中较新的文件系统,它具备许多先进的功能,如数据压缩、文件加密、

深入了解Linux的标准文件系统(Ext2/Ext3/Ext4) 深入了解Linux的标准文件系统(Ext2/Ext3/Ext4) Dec 31, 2023 pm 10:18 PM

Ext全称Linuxextendedfilesystem,extfs,即Linux扩展文件系统,Ext2就代表第二代文件扩展系统,Ext3/Ext4以此类推,它们都是Ext2的升级版,只不过增加了日志功能,且彼此向下兼容,所以Ext2被称为索引式文件系统,而Ext3/Ext4被称为日志式文件系统。备注:Linux支持很多文件系统,包括网络文件系统(NFS)、Windows的Fat文件系统。查看Linux支持的文件系统:ls-l/lib/modules/$(uname-r)/kernel/fs查看

Go语言中如何处理并发文件的文件系统文件锁和进程间文件共享问题? Go语言中如何处理并发文件的文件系统文件锁和进程间文件共享问题? Oct 09, 2023 pm 05:53 PM

Go语言中处理并发文件的文件系统文件锁和进程间文件共享问题引言:在Go语言中,我们常常需要处理并发访问文件的情况,包括文件系统文件锁和进程间文件共享。本文将介绍如何使用Go语言处理这些问题,并提供具体的代码示例。一、文件系统文件锁在多个并发程序同时访问同一个文件时,为了避免出现竞争条件和数据不一致的问题,我们可以使用文件系统文件锁来进行同步。Go语言提供了s

Linux系统命令大全。 Linux系统命令大全。 Feb 19, 2024 pm 10:54 PM

以下是常见的Linux系统命令大全(按字母顺序排列):alias:设置命令别名awk:文本处理工具,用于提取和操作文本数据cat:连接文件并打印到标准输出cd:改变当前工作目录chmod:修改文件或目录的权限chown:修改文件或目录的所有者和所属组chroot:改变根文件系统目录cp:复制文件或目录cron:定时任务管理工具curl:用于下载或上传文件的命令行工具cut:按列提取文本数据date:显示或设置系统日期和时间dd:复制和转换文件df:显示文件系统的磁盘使用情况diff:比较文件或目

See all articles