好的,以下是一份关于PHP Filesystem的学习笔记,内容包括目录操作、文件操作和文件系统函数等:

PHP Filesystem学习笔记

目录操作

创建目录

使用 mkdir() 函数可以在指定位置创建一个新目录,其基本语法如下:

phpCopy Code
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )

其中,$pathname 表示要创建的目录路径;$mode 表示该目录的默认权限(八进制数);$recursive 表示是否递归创建整个目录树;$context 是可选参数,用来指定文件上下文。

举例,我们可以使用以下代码在当前目录下创建一个名为 test 的目录:

phpCopy Code
mkdir('test');

删除目录

使用 rmdir() 函数可以删除指定目录,其基本语法如下:

phpCopy Code
bool rmdir ( string $dirname [, resource $context ] )

其中,$dirname 表示要删除的目录路径;$context 是可选参数,用来指定文件上下文。

举例,我们可以使用以下代码删除名为 test 的目录:

phpCopy Code
rmdir('test');

读取目录

使用 scandir() 函数可以读取指定目录中的所有文件和子目录,其基本语法如下:

phpCopy Code
array scandir ( string $directory [, int $sorting_order = SCANDIR_SORT_ASCENDING [, resource $context ]] )

其中,$directory 表示要读取的目录路径;$sorting_order 表示排序方式(默认为升序);$context 是可选参数,用来指定文件上下文。

举例,我们可以使用以下代码读取当前目录中所有文件和子目录的名称:

phpCopy Code
$files = scandir('.'); foreach ($files as $file) { echo $file . "\n"; }

文件操作

打开文件

使用 fopen() 函数可以打开一个文件,其基本语法如下:

phpCopy Code
resource fopen ( string $filename , string $mode [, bool $use_include_path = FALSE [, resource $context ]] )

其中, $filename 表示要打开的文件路径;$mode 表示打开文件的模式;$use_include_path 表示是否在 include_path 中搜索文件;$context 是可选参数,用来指定文件上下文。

常用的 $mode 参数包括:

  • 'r':只读模式,文件指针指向文件开头。
  • 'w':只写模式,删除文件原有内容,如果文件不存在则创建新文件。
  • 'a':追加模式,文件指针指向文件末尾,如果文件不存在则创建新文件。
  • 'x':排他模式,只写模式,如果文件已经存在,则返回 false。

举例,我们可以使用以下代码打开一个名为 test.txt 的文本文件并向其中写入一些内容:

phpCopy Code
$handle = fopen('test.txt', 'w'); fwrite($handle, 'Hello world!'); fclose($handle);

读取文件

使用 fread() 函数可以从已打开的文件中读取内容,其基本语法如下:

phpCopy Code
string fread ( resource $handle , int $length )

其中, $handle 表示已打开的文件资源句柄;$length 表示要读取的数据长度。

举例,我们可以使用以下代码读取一个名为 input.txt 的文本文件的前 10 个字符:

phpCopy Code
$handle = fopen('input.txt', 'r'); $content = fread($handle, 10); fclose($handle); echo $content;

写入文件

使用 fwrite() 函数可以向已打开的文件中写入内容,其基本语法如下:

phpCopy Code
int fwrite ( resource $handle , string $string [, int $length ] )

其中, $handle 表示已打开的文件资源句柄;$string 表示要写入的文本内容;$length 表示写入的数据长度。

举例,我们可以使用以下代码向一个名为 output.txt 的文本文件写入一段文本:

phpCopy Code
$handle = fopen('output.txt', 'w'); fwrite($handle, 'Hello world!'); fclose($handle);

关闭文件

使用 fclose() 函数可以关闭已打开的文件,其基本语法如下:

phpCopy Code
bool fclose ( resource $handle )

其中, $handle 表示要关闭的文件资源句柄。

举例,我们可以使用以下代码关闭一个已打开的文件:

phpCopy Code
$handle = fopen('test.txt', 'w'); fwrite($handle, 'Hello world!'); fclose($handle);

文件系统函数

获取文件信息

使用 stat() 函数可以获取一个文件的详细信息,其基本语法如下:

phpCopy Code
array stat ( string $filename )

其中, $filename 表示要获取信息的文件路径。

返回的数组包括了诸如文件大小、权限、修改时间等等信息。举例,我们可以使用以下代码获取一个名为 test.txt 的文件的详细信息:

phpCopy Code
$info = stat('test.txt'); print_r($info);

拷贝文件

使用 copy() 函数可以将一个文件拷贝到指定位置,其基本语法如下:

phpCopy Code
bool copy ( string $source , string $dest [, resource $context ] )

其中, $source 表示要拷贝的源文件路径;$dest 表示要拷贝到的目标文件路径;$context 是可选参数,用来指定文件上下文。

举例,我们可以使用以下代码将一个名为 test.txt 的文件拷贝到名为 backup.txt 的文件:

phpCopy Code
copy('test.txt', 'backup.txt');

移动/重命名文件

使用 rename() 函数可以将一个文件移动到指定位置或者重命名,其基本语法如下:

phpCopy Code
bool rename ( string $oldname , string $newname [, resource $context ] )

其中, $oldname 表示要移动或重命名的文件路径;$newname 表示目标文件路径;$context 是可选参数,用来指定文件上下文。

举例,我们可以使用以下代码将一个名为 test.txt 的文件重命名为 example.txt

phpCopy Code
rename('test.txt', 'example.txt');

删除文件

使用 unlink() 函数可以删除指定文件,其基本语法如下:

phpCopy Code
bool unlink ( string $filename [, resource $context ] )

其中, $filename 表示要删除的文件路径;$context 是可选参数,用来指定文件上下文。

举例,我们可以使用以下代码删除一个名为 test.txt 的文件:

phpCopy Code
unlink('test.txt');

以上就是本次关于PHP Filesystem的学习笔记,希望能对你有所帮助!