1.文件读取/写入
fopen() 用来打开一个文件,打开时需要指定打开模式
打开模式有 r r+ w w+ a a+ x x+
2.不需要fopen打开的函数
file_get_contents() 直接打开一个文件
file_put_contents() 直接将字符串写入到一个文件
file() 将文件内容写入到一个数组
readfile() 读取一个文件,并输出到输出缓冲
3.访问远程文件
如果需要访问远程文件,必须在PHP的配置文件中激活“allow_url_fopen”选项,才能使用fopen( )函数打开远程文件。
HTTP协议打开只能使用只读模式,FTP协议打开使用只读或只写
4.目录操作函数
名称相关:basename()、dirname()、pathinfo()
目录读取:opendir()、readdir()、closedir()、rewinddir()
创建目录:mkdir()
删除目录:rmdir() 注意文件夹内有内容是不能删除的,需要先把里面的内容删除掉。
5.其他函数
filesize() 文件大小
目录大小:disk_free_space()、disk_total_space()
文件类型:filetype()
重命名文件或目录:rename()
此部分参考 《文件系统处理》
解题方法:
牢记文件的操作函数和几种打开模式
理解目录的操作步骤
真题测试:
1.在文件的前面添加"hello world"
$file = './1.txt'; $handle = fopen($file, 'r'); $content = fread($handle, filesize($file)); //注意这里一定要有filesize读取文件大小 $content = 'Hello World'. $content; fclose($handle); $handle = fopen($file, 'w'); fwrite($handle, $content); fclose($handle);
2.通过PHP函数的方式对目录进行遍历,写出程序
$dir = './test'; function loopdir($dir) { $handle = opendir($dir); while (false !== ($file = readdir($handle))) //使用false判断当前目录是否遍历完成 { if ($file != '.' && $file != '..'){ //这里必须排除当前目录(.)和上级目录(..),如果不排除非常危险,而且得不出正确结果 echo $file. '<br>'; if (is_dir($dir. '/'. $file)){ loopdir($dir. '/'. $file); closedir($dir. '/'. $file); } } } closedir($handle); } loopdir($dir);
参考内容: