PHP零基础入门-文件编程
2019-01-12 17:25
260 查看
概述
文件编程是指通过PHP代码对文件夹/文件,根据需求进行增删改查的操作。
分类:目录操作,文件操作
文件夹操作
1、新增文件夹操作:mkdir(路径/文件目录名) ,前面最好加@错误抑制符
2、删除文件夹:rmdir(路径/文件目录名)
删除文件夹要求目标文件夹为空,下面没有任何文件,否则报错
3、修改文件夹:rename(‘旧名字’,‘新名字’)
4、读取文件夹:
- 自动获取文件夹所有文件名 scandir(路径),返回数组
<?php $dir_info=scandir('C:/Server/Apache24'); foreach ($dir_info as $key => $value) { echo $value . '<br/>'; } ?>
- 手动操作 opendir(路径)得到资源,然后通过readdir(路径)进行手动访问(指针操作,访问一下移动一下),最好通过closedir关闭资源
//读取前5个文件名操作 <?php $dir_r=opendir('C:/Server/Apache24'); // 打开资源 if($dir_r) { for($i=0;$i<5;$i++){ $filename=readdir($dir_r); if($filename===FALSE) break; echo $filename . '<br/>'; } } closedir($dir_r); //关闭资源 ?>
文件夹的操作通常有不可知性,通常需要系统函数判断路径的有效性
- is_dir(目录):判断是否是路径
- getcwd():获取当前工作路径
- rewinddir(目录资源):将opendir打开的资源重新指向第一个
- chdir(目录):修改当前工作路径
文件操作
不仅仅是对文件进行增删改查,还涉及到文件内容的增删改查。
1、新建文件:fopen(文件名、操作模式)
<?php $f1=@fopen('hello.html','rb') or die('文件不存在'); $f2=@fopen('hello.html','w+b'); //加b是二进制模式,为了安全 fclose($f1); // 释放资源 fclose($f2); ?>
2、删除文件
unlink(路径文件名)
3、修改文件
fwrite(文件资源,字符串内容)
<?php $f=@fopen('hello.html','wb') or die('文件打开失败'); if($f) { @fwrite($f,‘<h1>hello world</h1>’) or die('文件写入失败'); fclose($f); } ?>
也可以使用rename()来修改文件名
4、读取文件
fread(文件资源,读取长度)
<?php $f=@fopen('hello.php'.'r'); while(!feof($f)){ echo fread($f,1024); } fclose($f); ?>
一次性或者全部操作文件,开发当中常用这种方式
- file_get_contents(文件路径)
- file_put_contents(文件路径,内容字符串[,写入方式])
<?php $file=file_get_contents('hello.html'); $web=file_get_contents('http://www.taobao.com/index.php'); file_put_contents('hey.html',$file); file_put_contents('hey.html','hello world',FILE_APPEND); ?>
文件操作相关常用函数
- file(文件路径):将整个文件以行为单位读取,返回一个数组
- fgetc(文件资源):一次读取一个字符
- fgets(文件资源):一次读取一行
- file_exists(文件路径):判定一个文件或者目录是否存在
- fseek(文件资源,指针位置):谁定fopen打开的资源的指针位置
- fileatime(文件路径):获取文件最后访问时间
- filemtime(文件路径):获取文件最后修改时间
- filesize(文件路径):获取文件大小
递归算法(递归遍历文件夹)
关于递归算法:
- 递归点:就是碰到的问题和当前函数解决的问题一样
- 递归出口:就是函数调用要有尽头,什么时候函数能够不再调用自己
<?php function() myscandir($dir) { is_dir($dir) or die('当前不是一个目录'); $files=scandir($dir); foreach($files as $file) { echo $file,'<br/>'; if($file=='.'|| $file=='..') continue; //过滤系统默认的空文件夹 $tmp_dir=$dir . '/' .$file; if(is_dir($tmp_dir)){ myscandir($tmp_dir); } } } ?>
相关文章推荐
- shell脚本编程入门基础(附:自动备份与解包文件脚本)
- 入门:PHP编程“数组”的基础知识
- Linux基础入门及系统管理01-bash脚本编程之四文件测试及特殊变量19
- PHP 自学之路-----XML编程(Xpath技术,simpleXml技术)基础入门
- matlab入门笔记(六):编程基础之M文件
- php基础入门六(文件系统)
- 入门:PHP编程“数组”的基础知识
- PHP 自学之路-----XML编程(Xpath技术,simpleXml技术)基础入门
- 入门:PHP编程“数组”的基础知识
- php基础入门九(文件上传)
- Unix环境高级程序设计入门----文件系统的相关编程(下)
- Java学习从入门到精通 1工具篇-Java基础-Java-编程开发
- ASP编程入门进阶(十八):FSO组件之文件操作(上)
- PHP编程的文件资源管理一例
- 利用Java Applet播放声音文件-Java基础-Java-编程开发
- ASP编程入门进阶(十):Global.asa文件
- ASP编程入门进阶(十):Global.asa文件
- C#轻松入门(三)面向对象的编程基础
- ABAP--关于SAP Control Framework(入门GUI编程的不错的基础介绍)
- Java学习从入门到精通 4方法篇-Java基础-Java-编程开发