好的,以下是一份关于PHP Filesystem的学习笔记,内容包括目录操作、文件操作和文件系统函数等:
PHP Filesystem学习笔记
目录操作
创建目录
使用 mkdir()
函数可以在指定位置创建一个新目录,其基本语法如下:
phpCopy Codebool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )
其中,$pathname
表示要创建的目录路径;$mode
表示该目录的默认权限(八进制数);$recursive
表示是否递归创建整个目录树;$context
是可选参数,用来指定文件上下文。
举例,我们可以使用以下代码在当前目录下创建一个名为 test
的目录:
phpCopy Codemkdir('test');
删除目录
使用 rmdir()
函数可以删除指定目录,其基本语法如下:
phpCopy Codebool rmdir ( string $dirname [, resource $context ] )
其中,$dirname
表示要删除的目录路径;$context
是可选参数,用来指定文件上下文。
举例,我们可以使用以下代码删除名为 test
的目录:
phpCopy Codermdir('test');
读取目录
使用 scandir()
函数可以读取指定目录中的所有文件和子目录,其基本语法如下:
phpCopy Codearray 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 Coderesource 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 Codestring 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 Codeint 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 Codebool fclose ( resource $handle )
其中, $handle
表示要关闭的文件资源句柄。
举例,我们可以使用以下代码关闭一个已打开的文件:
phpCopy Code$handle = fopen('test.txt', 'w');
fwrite($handle, 'Hello world!');
fclose($handle);
文件系统函数
获取文件信息
使用 stat()
函数可以获取一个文件的详细信息,其基本语法如下:
phpCopy Codearray stat ( string $filename )
其中, $filename
表示要获取信息的文件路径。
返回的数组包括了诸如文件大小、权限、修改时间等等信息。举例,我们可以使用以下代码获取一个名为 test.txt
的文件的详细信息:
phpCopy Code$info = stat('test.txt');
print_r($info);
拷贝文件
使用 copy()
函数可以将一个文件拷贝到指定位置,其基本语法如下:
phpCopy Codebool copy ( string $source , string $dest [, resource $context ] )
其中, $source
表示要拷贝的源文件路径;$dest
表示要拷贝到的目标文件路径;$context
是可选参数,用来指定文件上下文。
举例,我们可以使用以下代码将一个名为 test.txt
的文件拷贝到名为 backup.txt
的文件:
phpCopy Codecopy('test.txt', 'backup.txt');
移动/重命名文件
使用 rename()
函数可以将一个文件移动到指定位置或者重命名,其基本语法如下:
phpCopy Codebool rename ( string $oldname , string $newname [, resource $context ] )
其中, $oldname
表示要移动或重命名的文件路径;$newname
表示目标文件路径;$context
是可选参数,用来指定文件上下文。
举例,我们可以使用以下代码将一个名为 test.txt
的文件重命名为 example.txt
:
phpCopy Coderename('test.txt', 'example.txt');
删除文件
使用 unlink()
函数可以删除指定文件,其基本语法如下:
phpCopy Codebool unlink ( string $filename [, resource $context ] )
其中, $filename
表示要删除的文件路径;$context
是可选参数,用来指定文件上下文。
举例,我们可以使用以下代码删除一个名为 test.txt
的文件:
phpCopy Codeunlink('test.txt');
以上就是本次关于PHP Filesystem的学习笔记,希望能对你有所帮助!