PHP文件操作实例总结

yipeiwu_com6年前PHP代码库

本文实例总结了PHP文件操作。分享给大家供大家参考,具体如下:

操作文件的常用方法:

flie_put_contents(url,str);

file_get_contents(url);

<?php
$str = time();
$path = './time.txt';
echo '<hr>';
file_put_contents($path,$str);
echo file_get_contents($path);
echo '<hr>';
file_put_contents($path,"\r".$str,FILE_APPEND);
echo file_get_contents($path);

运行效果图如下:

当文件过大时,不能使用以上的方法一次性操作以上内容,使用下面的函数解决

fopen() 打开文件句柄(php与文件间的数据流通道)

参数1:文件地址

参数2:打开方式,打开文件后希望完成哪种操作,可以在模式位置进行限制

文件模式:

r(read) 读模式
w (write) 替换写模式,将文件内容清零,不存在则创建
a(append)
x 替换写模式,将文件内容清零,不存在不创建
+扩展
r+ 读写模式 ,将文件指针放在文件头
w+ 读写模式 ,将文件清零,将文件指针放在文件头
x+ 读写模式 ,将文件清零,将文件指针放在文件头,不自动创建文件
a+ 读追加写模式 ,写操作永远在末尾,读操作受限于文件指针

在都可以读写操作时,不同的是文件的初始化

连续读取:

fread(文件句柄[,长度]); 读取指定长度(字节)的内容

fgets(文件句柄[,长度]); 读取指定长度(字节)的内容

长度:指的是会读取长度-1个字节

行末是函数的终止操作

fgetc(文件句柄) 一次读取一个字节

fwrite(文件句柄,内容);

fclose(文件句柄);

ftell();寻找指针位置
fseek();定位指针位置

<?php
$stmt = fopen('./rw.txt','r+');
echo ftell($stmt);
fwrite($stmt,'01234'."\n".'56789');
echo ' r '.ftell($stmt);
echo '<br>';
fseek($stmt,1);
fwrite($stmt,'ab');
fseek($stmt,1);
echo fgets($stmt,8);
echo '<br>';
echo fgets($stmt,8);
fclose($stmt);

rw.txt

r+ 读写受指针影响,写替换原有指针内容
w+ 清空内容
a | a+ 指针具有不确定因素,读受指针影响,写是追加

filemtime(url) 文件最后修改时间

filesize() 文件大小

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php下使用SMTP发邮件的代码

最近一个项目需要用到SMTP发送邮件,之前的库类不存在了,又不喜欢安装pear或者使用pear的net/smtp类,感觉太复杂了。就直接从discuz中抽取出核心稍微修改了下。 &nbs...

PHP使用GD库输出汉字的方法【测试可用】

PHP使用GD库输出汉字的方法【测试可用】

本文实例讲述了PHP使用GD库输出汉字的方法。分享给大家供大家参考,具体如下: 一、原理 PHP中的GD库支持中文,但是必须要以UTF-8格式的参数来进行传递。下面先说一下汉字的UTF-...

详解PHP执行定时任务的实现思路

PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害。 一、Linux服务器上使用...

Windows平台实现PHP连接SQL Server2008的方法

本文实例讲述了Windows平台实现PHP连接SQL Server2008的方法。分享给大家供大家参考,具体如下: 如果你需要和sql server通信需要到http://msdn.mi...

php中防止SQL注入的最佳解决方法

如果用户输入的是直接插入到一个SQL语句中的查询,应用程序会很容易受到SQL注入,例如下面的例子:复制代码 代码如下:$unsafe_variable = $_POST['user_in...