php文件怎么在浏览器运行(PHP 文件系统完全指南)

wufei123 发布于 2023-11-10 阅读(582)

php教程全集

本文首发于个人博客 【PHP 文件系统完全指南】(http://blog.phpzendo.com/?p=421),转载请注明出处今天我们将开启一个新的探索旅程,深入到 PHP 文件系统游戏中,系统的学习和掌握 PHP 文件系统的基本使用。

相信大家在日常研发过程中,难免需要和各种文件纠缠不清比如,打开 .env 文件并从中读取配置信息、把项目中的错误信息写入到日志文件中或者获取图片的创建游戏时间等等在处理这些功能时,我们都需要使用到 PHP 文件系统接口。

下面是本文所涉主题的提纲:一 什么是文件系统二 深入 PHP 文件系统三 面向对象的目录遍历四 PHP 文件系统思维导图本文较长,耗时游戏约 20 分钟,请做好战斗准备!一 什么是文件系统开始之前,我们首先需要厘清我们所研究的问题领域,理解什么是文件系统,还有我们所研究的对象。

在计算机中,文件系统(file system or file游戏system)用于管理数据如何存储和如何被获取的 - 维基百科简单来说,就是我们应该如何管理我们的目录(文件夹)和文件通常,我们将具有相似属性的文件,存储到同一个目录中以便后续查找,这个常见的操作就会游戏涉及到目录和文件。

对于软件工程师来讲,一个非常典型的使用场景,就是在开发 MVC 项目时,将控制器、视图和模型等模块的文件,存储到不同的目录结构中方便管理无论如何,我们依据不同特性划分文件和目录都是为游戏了解决文件存储和查找的问题。

有了这些认知后,应该自然而然的想到我们当前研究的 PHP 文件系统(或者说文件系统)其所研究的对象,简单概括起来就是:目录(文件夹)文件也就是说,本文我们所讲解的 PHP 游戏文件系统函数处理,基本都是围绕目录和文件展开的。

二 深入 PHP 文件系统在 PHP 文件系统中内置提供了超过 80 个可用的 文件系统函数由于数量繁多功能强大,自然本文无法将对所有的系统函数逐一讲解游戏一来,时间过于仓促;再者,短时间内我们也没有那么多的精力将它们全部掌握。

尽管如此,大家也不必气馁,本文会将有限的时间和精力,来研究以下几个在文件处理时的常见话题:文件的元数据应该如何获取文件的 MIM游戏E 类型如何获取文件和目录的操作处理文件和目录的权限管理另外,补充说明一点,PHP 标准函数库不仅为我们提供了面向过程的文件系统处理函数。

同时,还封装了常用目录及文件操作的面向对象接口和迭代器接口方便游戏大家使用:SplFileInfofinfoDirectoryIteratorRecursiveDirectoryIterator文件系统的元数据

什么是元数据元数据(meta data):通俗一点讲就是游戏「数据的数据」拿一个 php 文件来说它的元数据可以是 创建时间、文件名、文件大小 或 文件所有权限 等,这类能够表明该文件基本特征的数据就是「元数据(meta data)」了。

常用元数据获取在这一节游戏,我们将学习一些经常需要获取的文件元数据函数,包括:获取文件的最后修改时间获取文件的上次访问时间获取文件的路径信息获取文件的绝对路径获取文件类型获取文件大小获取文件权限获取文件所属用户及用户组

话不多说游戏,开干吧!1、获取文件的最后修改时间要获取文件的上次被修改时间戳,我们可以使用函数 filemtime($filename) 或 SplFileInfo::getMTime() 方法注意:SplFil游戏eInfo 类实例化时接收 $filename 文件路径作为参数,后续没有特别说明默认我们已经获取到了 SplFileInfo 实例才能进行 getMTime() 等类似处理。

// 文件路径请求改成你游戏自己的文件路径$filename ="f://filesystem/test.txt";// 面向过程: 获取文件时间$modifyTimestamp = filemtime($filename

);/游戏/ 面向对象$file =newSplFileInfo($filename);$modifyTimestamp = $file->getMTime();2、获取文件的上次访问时间可以使用函数 file游戏atile($filename) 或 SplFileInfo::getATime() 方法,来获取文件的最后被访问时间戳。

// 文件路径请求改成你自己的文件路径$filename ="f://file游戏system/test.txt";// 面向过程: 获取文件时间$accessTimestamp = fileatime($filename

);// 面向对象$file =newSplFileInfo游戏($filename);$accessTimestamp = $file->getATime();除了 filemtile 和 fileatime

之外,还有 filectime 来获取文件的 inod游戏e 修改时间(可认为是创建时间)有关时间的函数常用的就这些,为了方便记住,我们来看看它们是如何命名的:2.1 面向过程 file 前缀,面向对象 get 前缀。

2.2 a: access(访问);m:游戏modify(修改);c:create(创建)2.3 time 后缀2.4 fileatime,SplFileInfo::getATime;filemtime,SplFileInfo::getMTim游戏e;filectime,SplFileInfo::getCTime。

是不是很简单呢!注意,使用 filectime 时,对于 Windows 系统会获取创建时间,但对于类 Unix 系统是修改时间,因游戏为在类 Unix 系统中多数文件系统并没有创建时间的概念具体说明可以看 PHP: how can I get file creation date?。

3、获取文件的路径信息除了时间这些元数据,另一个经游戏常遇到的情况是获取文件的路径信息,包括:3.1 目录信息获取目录信息我们可以使用 pathinfo(\$filename, PATHINFO_DIRNAME)

、dirname(\$filename) 游戏和 SplFileInfo::getPath()比如下面给出的文件:$filename =F:\Program Files\SSH Communications Security\SSH Secure游戏 Shell\Output.txt

;将会获取到 F:\Program Files\SSH Communications Security\SSH Secure Shell 这部分目录信息3.2 文件名游戏信息这里我们所有的文件名指的是不带扩展名后缀的文件名称,比如需要获取 。

your_path/filename.txt 中的 filename 部分需要取得文件名信息,我们可以使用 pathinfo(\游戏$filename, PATHINFO_FILENAME)、basename(\$filename, \$suffix)。

和 SplFileInfo::getBasename(\$suffix) 获取游戏这里给出的 $suffix 指不获取 $suffix 扩展名部分(比如不获取 $suffix = .txt)请看下面的示例:。

$filename =F:\Program Files\SSH Commu游戏nications Security\SSH Secure Shell\Output.txt;将会获取到 Output 这部分文件名信息。

3.3 扩展名信息扩展名我们可以使用 pathinfo(\$f游戏ilename, PATHINFO_EXTENSION) 和 SplFileInfo::getExtension() 方法拿到基于前面的了解,我们可以获取到 。

txt 这部分扩展信息,这里不再赘述3.游戏4 basename(文件名 + 扩展名)信息basename 指的是 文件名 + 扩展名 内容信息,可以使用 pathinfo(\$filename, PATHINFO_BASENAME)。

、 ba游戏sename(\$filename)、SplFileInfo::getBasename() 和 SplFileInfo::getFilename() 方法拿到虽然这里我们列出了很多的函数,但是基本上还游戏是比较容易理解的,需要注意的是:。

pathinfo 可以获取所有文件相关的路径信息,如果指定第二个参数选项将仅获取该部分的信息文件名和 basename 不是特别容易理解,你可以使用完全相同的方法或函游戏数 basename 和SplFileInfo::getBasename()

 获取他们,区别在于是否摘除指定的 $suffix 后缀3.5 示例

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。