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菜鸟教程的连接:

菜鸟教程

原创粉丝点击