php基础入门篇-文件和目录操作_PHP教程
一篇关于php 入门的朋友参考的关于文件和目录的各种操作函数与实例应用,有需要的朋友可以简单的参考一下。
本章可以算是上一章的延续,介绍了除文件实际内容之外的附加信息,包括文件的大小、目录、访问权限等。文件系统中的某些函数只在服务器为特定的系统中时才有效,例如更改符号链接的函数symlink(),设定文件访问权限的函数chmod(),设定目录访问权限的函数umask()等等这些只在Linux系统中有效,在Windows系统中无效。PHP5以后提供的DirectoryIterator类也封装了很多实用的目录方面的操作
代码如下 | 复制代码 |
//------------- 采用DirectoryIterator类迭代目录中的文件 ------------- //------------- PHP5之前版本的实现方式 ------------- |
closedir($d);文件信息函数
函数名 函数提供什么文件信息?
file_exists() 该文件是否存在
fileatime() 最后访问时间
filectime() 文件inode的最后修改时间
filegroup() 取得文件组(返回整数)
fileinode() 取得文件的信息节点数(返回整数)
filemtime() 取得文件数据块最后被写入的时间(返回Unix时间戳)
fileowner() 取得文件的所有者(返回用户ID)
fileperms() 取得文件的权限
filesize() 取得文件大小的字节数
filetype() 取得文件类型,可能返回 fifo,char,dir,block,link,file 和 unknown
is_dir() 判断给定文件名是否是一个目录
is_executable() 判断给定文件名是否可执行(自PHP5.0.0起可用于Windows)
is_file() 判断给定文件名是否为一个正常的文件
is_link() 判断给定文件名是否为一个符号连接
is_readable() 判断给定文件名是否可读
is_writable() 判断给定文件名是否可写
目录相关函数
函数名 函数提供什么文件信息?
mkdir() 创建一个新目录,第二个参数可用来设置访问权限
rmdir() 删除目录
rename() 重命名一个文件或目录
目录类相关方法
DirectoryIterator类封装了很多与目录相关的方法
方法名 函数提供什么目录信息?
isDir() 判断给定的DirectoryIterator item对象是否是一个目录
isDot() 判断当前的DirectoryIterator item对象是否是‘.’或‘..’
isFile() 判断当前的DirectoryIterator item对象是否是一个有效的文件
isLink() 判断当前的DirectoryIterator item对象是否是一个连接
isReadable() 判断当前的DirectoryIterator item对象是否可读
isWritable() 判断当前的DirectoryIterator item对象是否可写
isExecutable() 判断当前的DirectoryIterator item对象是否可执行
getATime() 获取当前Iterator item最后访问时间
getCTime() 获取当前Iterator item最后修改时间
getMTime() 获取当前Iterator item文件数据块最后被写入的时间
getFilename() 获取当前Iterator item文件名(带扩展名)
getPathname() 获取当前Iterator item路径名
getPath() 获取当前Iterator item路径名和文件名
getGroup() 获取当前Iterator item组ID
getOwner() 获取当前Iterator item拥有者ID
getPerms() 获取当前Iterator item权限
getSize() 获取当前Iterator item文件大小
getType() 获取当前Iterator item类型,可能是file,link or dir
getInode() 获取当前Iterator item的inode节点号
文件时间戳解惑
touch()函数修改文件的更新时间
fileatime()函数返回文件因为读或写被打开的最后时间
filemtime()函数返回文件内容被修改的最后时间
filectime()函数返回文件内容或元数据被修改的最后时间
获取文件信息
通过stat()可以获取一个包含文件相关信息的数组,与此函数类似的是fstat()函数,这个函数以一个文件句柄作为参数(由fopen()或popen()返回),lstat()用来获取符号或文件连接的信息。
数字索引 字符串索引 说明
0 dev 设备号
1 ino 信息节点号
2 mode 保护模式
3 nlink 被连接数目
4 uid 所有者用户ID
5 gid 所在组ID
6 rdev 设备类型,如果是inode设备的话
7 size 文件大小的字节数
8 atime 上次访问的时间(Unix时间戳)
9 mtime 上次修改的时间(Unix时间戳)
10 ctime 上次改变的时间(Unix时间戳)
11 blksize 文件系统IO的块大小
12 blocks 所占据块的数目
修改文件权限
chmod()函数修改文件的权限
chown()函数修改文件的所有者
chgrp()函数修改文件所属组
注意:上述3个函数在Windows系统中无效
获取文件名各部分信息
basename()函数可以取得文件名,dirname()函数可以取得路径名,pathinfo()取得目录名、完整文件名、扩展名、文件名(即不带扩展名)的关联数组,键名分别是[dirname]、[basename]、[extension]、[filename]
常通过dirname(__FILE__)的组合来获取当前目录路径(物理路径,常用在引用其他PHP文件上)
删除文件
用unlink()函数可以删除一个文件,如果删除失败将产生一个E_WARNING错误
提示:PHP5.0.0后此函数也可以用来删除远程文件,如FTP等
复制或移动文件
使用copy(old_dir,new_dir)函数可以复制文件,使用rename(old_dir,new_dir)移动文件,这里的new_dir是可以可以重命名文件名的。
模式匹配文件名列表(模糊查询)
如果希望像命令行那样查询出某个目录中的所有jpg文件(*.jpg),可以使用DirectoryIterator类的FileterIterator子类accept()方法或者glob()函数获取匹配的文件名。
//FileterIterator的实现代码
代码如下 | 复制代码 |
class ImageFilter extends FilterIterator { n"; |
//-------------- glob函数的实现代码 ------------
代码如下 | 复制代码 |
foreach (glob('/usr/local/docs/*.txt') as $file) { $contents = file_get_contents($file); print "$file contains $contentsn"; |
}递归目录中的文件
如果想获得一个目录及其子目录的文件大小,可以使用RecursiveDirectoryIterator(提供子目录获取的功能)和RecursiveIteratorIterator(平整化)
代码如下 | 复制代码 |
$dir = new RecursiveDirectoryIterator('/usr/local'); |

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。
