php学习(4)---文件的操作
来源:互联网 发布:淘宝网如何购物流程 编辑:程序博客网 时间:2024/06/11 01:37
php对文件的操作
在web中,通常用两种方式保存数据—文件和数据库。
今天我们主要学些关于文件的操作,我们会学习到对文件的创建,删除,写入
就像把大象关进冰箱一样,操作文件也有三步,打开文件,写入或取出文件,关闭文件,我们先从打开开始看
$file = fopen("url","r");
见闻知其意,url是文件地址,支持绝对地址和相对地址,也支持是本地文件或者是网络文件(是不是很厉害的),第二个是该文件的访问类型
这里可以参照http://www.w3school.com.cn/php/func_filesystem_fopen.asp里面有较为详细的描述。关闭函数就是fclose();
然后开始放大象,fread(数据源,读取长度)
fread($file,filesize(url));//读取完//注意这里是把文件内容一下全部取出了,没有换位符//还有另一种//把文件取出成数组$file = file("text");//打印数组var_dump($file);//打印后的样子//第一种this is test hello wolld good morning!!! //第二种array(3) { [0]=> string(14) "this is test " [1]=> string(13) "hello wolld " [2]=> string(15) "good morning!!!" }
目前来说,第二种比较方便
除了读取,我们还有写入,在工作的时候免不了有些报表或者说文章需要导出下载为文件,这时候就需要写入,当然,工作的时候就是用一些插件做的了,不过也是以此为基础做的。直接玩代码
//记得把读取文件的$file打开方式改成可以写入的模式 fwrite($file,$str);//这里有点麻烦的是写入的值会把之前的内容覆盖,需要注意
除了这些还有一些其他的方法读写
//功能和file差不多,不同的是file返回的是数组,而file_get_contents返回的是内容的字符串$file = file_get_contents("http://www.csdn.net/");//这个就是写入,这个方法有个好处是追加的方式写入比较方便,只需要传入第三个值FILE_APPEND即可file_put_contents("test.txt",$file);
还有一些其他的方法:
bool copy(string source,string dest)把文件source复制给dest。file_exists("test.txt")判断是有有这个文件if(!file_exists("tests.txt")){ //主要是提高自己代码的健壮性 echo "没有这个文件";}
我们有时候还需要些安全性,就像读取数据库的时候为了避免两人同时操作产生错误数据,而给表或者列加锁一样,在我们读取文件的时候也会发生这样的错误,也是同样的解决方案—锁。
$file = fopen("test.txt","w+");// 排它性的锁定if (flock($file,LOCK_EX)) { fwrite($file,"Write something"); // release lock flock($file,LOCK_UN); }else { echo "Error locking file!"; }fclose($file);//使用的是php菜鸟教程上面的例子,这是个很好的网站,有兴趣了可以去看看。
这是一些可以用的值:
像作文一样,来个总结,我们做web的,数据的持久化一般只有两种功能,1,数据库;2,文件。熟练的使用这些方法可以帮助我们把数据的操作更加多样化,存储在文件中也可以更加的读取方便,在文件中我们可存放数据库的连写信息,还有一些网页需要的参数,比如说名称,我们可以把名称放在文件中,然后在代码中读取,这如果需要修改网站配置,只需修改文件中的数据。我们程序员也是很懒的,但要记得懒对地方。
这里插一句,身为程序员,记得研究下底层,对你的技术提高有好处。
最后这里是php菜鸟教程的连接:
菜鸟教程
- php学习(4)---文件的操作
- php学习基础-文件系统(三) 文件夹的相关操作、php文件上传、php文件下载
- PHP学习文件操作
- PHP学习:文件操作
- php学习笔记(九)文件相关的处理操作
- PHP学习之文件操作
- php学习--6文件操作
- php学习笔记--文件操作
- PHP的文件操作
- php文件的操作
- php的文件操作
- PHP->文件的操作
- php学习笔记1---文件的相关操作
- PHP学习笔记二:简单的文件操作
- 跟着辛星学习PHP的文件目录操作
- (php)文件操作
- PHP 文件的一些操作
- php文件操作的总结
- 机器学习框架的一般套路
- C#程序开机启动与获取程序启动路径
- 统计学零散知识汇总
- Android Volley完全解析(二),使用Volley加载网络图片
- 链表面试题3/链表带环问题--判断链表是否带环?
- php学习(4)---文件的操作
- myBatis工作流程
- 工作日记2017.07.17
- 简易Java web在线聊天-websocket
- E
- 正则表达式
- C++:1.设计一个类不能被继承 2.设计一个类只能在堆上创建对象。 3.设计一个类只能在栈上创建对象。
- 组合数
- 面试常见问题——架构