filesystem-文件系统,这个函数很多,大概浏览了一遍

本文详细介绍PHP中的文件操作函数,包括文件判别、链接处理、文件上传、路径操作、权限设置等核心功能。提供了丰富的函数说明及应用场景,帮助开发者更好地理解和运用PHP进行文件管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	判别:
		file_exists()
		is_dir()
		is_file()
		is_writable() - is_writeable()
		is_readable()
		is_executable()

	链接:
		is_link(string $filename) - 判断给定文件名是否为一个符号连接
		readlink(string $path) - 返回符号连接指向的目标
		link (string $target, string $link) - 建立一个硬连接
		symlink (string $target, string $link) - 建立符号连接
		linkinfo(string $path) - 获取一个连接的信息(返回 lstat 系统调用所返回的 UNIX C stat 结构中的 st_dev 字段。 如果出错则返回 0 或 FALSE。)
		lstat(string $filename) - 获取由 filename 指定的文件或符号连接的统计信息。
		lchown()
		lchgrp()

	文件上传:
		is_uploaded_file(string $filename) - 判断文件是否是通过 HTTP POST 上传的(为了能使 is_uploaded_file() 函数正常工作,必须指定类似于 $_FILES['userfile']['tmp_name'] 的变量,而在从客户端上传的文件名 $_FILES['userfile']['name'] 不能正常运作)
		move_uploaded_file(string $filename) - 将上传的文件移动到新位置

	文件路径相关:
		basename() - 返回路径中的文件名部分(只会根据传入的路径字符串来判断,并不会真的去找这个路径是否存在)
		dirname() - 返回路径中的目录部分
		pathinfo(string $path [, $options]) - 返回文件路径的信息
			$options可以是:
				PATHINFO_DIRNAME - 目录部分
				PATHINFO_BASENAME - 文件名部分(文件名和后缀)
				PATHINFO_FILENAME - 文件名
				PATHINFO_EXTENSION - 后缀
			不传入$options,默认返回一个包涵4者的数组
		realpath - 返回规范化的绝对路径名(所有的符号连接并且处理输入的 path 中的 '/./', '/../' 以及多余的 '/' 并返回规范化后的绝对路径名。返回的路径中没有符号连接,'/./' 或 '/../' 成分)
		realpath_cache_get()
		realpath_cache_size()
		tempnam()
		tmpfile()

	文件权限:
		umask()
		chown() - 改变文件的所有者
		chgrp() - 改变文件所属组
		chmod(string $filename , int $mode) - 改变文件模式
			1.mode 不会被自动当成八进制数值,而且也不能用字符串(例如 "g+w"),所以必须是 '0777'
			2.mode 也支持特殊的 's' 和 't' --- 虽然我暂时也想不起这些权限了。。
		fileperms(string $filename) - 取得文件的权限
			1.以数字模式返回文件的访问权限,第一位的 '文件类型',也是数字
			2.想直观的显示权限,例如:'-rwxr-xr--' 这种格式,参照手册的示例!

	文件信息:
		stat() - 获取由 filename 指定的文件的统计信息
			1.如果 filename 是符号连接,则统计信息是关于被连接文件本身的,而不是符号连接。
		lstat() - 获取由 filename 指定的文件或符号连接的统计信息
			1.本函数和 stat() 函数相同,只除了如果 filename 参数是符号连接的话,则该符号连接的状态被返回,而不是该符号连接所指向的文件的状态。
		fstat(resource $handle) — 通过已打开的文件指针取得文件信息
			1.针对的是fopen()打开后的资源类型
		文件信息返回的数组中,包含 '索引' 和 '关联' 下标,如下:
		数字下标	关联键名(自 PHP 4.0.6)	说明
			0	dev		device number - 设备名
			1	ino		inode number - inode 号码
			2	mode	inode protection mode - inode 保护模式
			3	nlink	number of links - 被连接数目
			4	uid		userid of owner - 所有者的用户 id
			5	gid		groupid of owner- 所有者的组 id
			6	rdev	device type, if inode device * - 设备类型,如果是 inode 设备的话
			7	size	size in bytes - 文件大小的字节数
			8	atime	time of last access (unix timestamp) - 上次访问时间(Unix 时间戳)
			9	mtime	time of last modification (unix timestamp) - 上次修改时间(Unix 时间戳)
			10	ctime	time of last change (unix timestamp) - 上次改变时间(Unix 时间戳)
			11	blksize	blocksize of filesystem IO * - 文件系统 IO 的块大小
			12	blocks	number of blocks allocated - 所占据块的数目

	文件操作:
		touch() - 设定文件的访问和修改时间
		copy() - 拷贝文件
		rename() - 重命名一个文件或目录
		unlink() - 删除文件
		mkdir(string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]]) - 新建目录
			1.mode 用八进制数指定模式,也就是说该数应以零打头
			2.模式也会被当前的 umask 修改,可以用 umask() 来改变
			3.$recursive - 允许创建嵌套的目录
		rmdir() - 删除目录
			1.该目录必须是空的,而且要有相应的权限

	硬盘空间:
		disk_free_space() - 返回目录中的可用空间(给出一个包含有一个目录的字符串,本函数将根据相应的文件系统或磁盘分区返回可用的字节数)
		diskfreespace() - disk_free_space()别名
		disk_total_space() - 返回一个目录的磁盘总大小(给出一个包含有一个目录的字符串,本函数将根据相应的文件系统或磁盘分区返回所有的字节数。 【译者注】本函数返回的是该目录所在的磁盘分区的总大小,因此在给出同一个磁盘分区的不同目录作为参数所得到的结果完全相同。 在 Unix 和 Windows 200x/XP 中都支持将一个磁盘分区加载为一个子目录,这时正确使用本函数就很有意义)

	读取与写入:
		file_get_contents() - 将整个文件读入一个字符串
			1.用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。
		file_put_contents() - 将一个字符串写入文件

		file()

		readfile()

		fopen()
		fgetc()
		fgets()
		fgetss()
		fgetcsv()
		foef()
		fclose()
		fflush()
		flock()
		fpassthru()
		fputcsv()
		fputs() - fwrite()的别名
		fwrite()
		fread()
		ftell()
		fseek()
		rewind()
		fscanf()
		ftruncate()

		popen()
		pclose()


	文件属性:
		filectime()
		fileatime()
		filemtime()	
		fileinode()
		fileowner()
		filegroup()
		fileperms()
		filetype()
		filesize()

	匹配文件:
		glob()
		fnmatch(string $pattern , string $string [, int $flags = 0 ]) - 用模式匹配文件名
			1.支持的模式是 'glob',我们使用 preg_match() 更强大

	解析配置:
		parse_ini_string()
		parse_ini_file()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值