<?php
$file=fopen("test.txt","r"); //以只读方式打开test.txt
$char=fgetc($file);
echo $char;
?>
file_get_contents()函数无需经过打开文件及关闭文件操作就可以读取文件中的全部内容。语法为:file_get_contents(string filename)
<?    $str=file_get_contents('test.txt');
echo nl2br($str);
?>

file()函数将读取整个文件并将其保存到一个数组中,数组中每个数组元素对应文档中的一行,该函数可用于读取二进制文件。

<?    $arr=file("test.txt");            //读取文件到数组中
print_r($arr);
?>

文本文件的写入和追加

fwrite()函数,将一个字符串写入到文本文件中,

fwrite(resource handle, string string[,int length]);

<?php   $fp=fopen("new.txt","a");        // a 以追加方式打开new.txt
fwrite($fp,'这是写入的一行话\n');
fwrite($fp,'最多写入12个字符\n',);
fclose($fp); //关闭文件资源
?>

结果为:  这是写入的一行话\n最多写入12个字符\n

1.制作计数器:

<?php   $fp=fopen("count.txt","r+");     //先读后写操作
$Visitors=intval(fgets($fp)); //读取文件中的内容
$Visitors++; //将计数器加1
rewind($fp); //将文件指针指向开头,以便重新写
fwrite($fp,$Visitors); //将计数器值写入count.txt文件之中
fclose($fp);
?>
<html><body>
<h2>欢迎进入PHP的世界</h2><hr>
您是本站第<?=$Visitors ?>位贵宾。
</body></html>

2.对计数器设置防刷新功能

可以通过SESSION变量判断是否是同一用户在重复刷新网页

<?php
/*
*
* @Authors peng--jun
* @Email 1098325951@qq.com
* @Date 2015-11-09 18:06:08
* @Link http://www.cnblogs.com/xs-yqz/
* @version $Id$
==========================================
*/
header("Content-type: text/html; charset=UTF-8");
session_start();
$fp = fopen("count.txt", "r+");
$Visitors=intval(fgets($fp));//读取原有访问次数
if (!$_SESSION['connected']) {
$Visitors++; //将访问次数加1
$_SESSION['connected'] = true;
}
rewind($fp);
fwrite($fp, $Visitors); 将新的访问次数写回文件
fclose($fp);
?>
<p>您是本站第<?=$Visitors ?>位贵宾。</p>

文件及目录的基本操作

<?php
if(copy('test.txt','./data/bak.txt')) //复制文件示例
echo '文件复制成功';
else echo '文件复制失败,源文件可能不存在';
//删除文件示例
unlink('./test.txt'); //删除当前文件夹下的test.txt
//移动文件示例
if(file_exists('./data/bak.txt')){ //判断源文件是否存在
if(rename('./data/bak.txt','tang.txt')) //移动并重命名为tang.txt
echo '文件移动并重命名成功';
else echo '文件移动失败';
}
?>

PHP文件访问技术的更多相关文章

  1. ADO.NET数据访问技术

    ADO.NET数据访问技术 就是将C#和MSSQLl连接起来的纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中,也可以将数据库中的数据提取到内存中供程序调用.是所有数据访问技术的基础. A ...

  2. C#与数据库访问技术总结(十八)

    ADO.NET 代码综合示例 前面已经介绍过OLE DB.NET和SQL Server.NET数据提供者可以用来连接不同的数据源. 以下代码不仅综合演示了使用ADO.NET的这两种数据提供者访问数据库 ...

  3. [翻译]比较ADO.NET中的不同数据访问技术(Performance Comparison:Data Access Techniques)

    Performance Comparison: Data Access Techniques Priya DhawanMicrosoft Developer Network January 2002 ...

  4. 挑战以Dropbox为代表的传统“同步网盘”,Seafile推出“分布式文件同步技术”打造的私有云服务

    挑战以Dropbox为代表的传统“同步网盘”,Seafile推出“分布式文件同步技术”打造的私有云服务#36氪开放日# 其他 JasonZheng • 2012-04-07 15:14 来自36氪开放 ...

  5. Seafile 推出 “分布式文件同步技术” 打造的私有云服务

    近两年来 Dropbox 等云储存服务迅速窜红,各大巨头纷纷推出自家的云储存服务(苹果的 iCloud, 微软的 SkyDrive, Google 即将推出的 GDrive),国内也有类似的服务(金山 ...

  6. Windows平台内核级文件访问

    1.背景     在windows平台下,应用程序通常使用API函数来进行文件访问,创建,打开,读写文件.从kernel32的CreateFile/ReadFile/WriteFile函数,到本地系统 ...

  7. NodeJS静态文件访问性能测试

    受益于JavaScript语言优秀特点,使NodeJS开发服务端应用很方便,配合NPM官方提供的大量第三方组件,让NodeJS更加如虎添翼.最近,需要使用NodeJS做一个服务端HTML5的游戏服务器 ...

  8. Java笔记(十二) 文件基础技术

    文件基础技术 一.文件概述 一)基本概念 1.文件的分类: 1)文本文件:文件中每个二进制字节都是某个可打印字符的一部分.如.java文件 2)二进制文件:文件中每个二进制字节不一定用来表示字符,也可 ...

  9. atitit.网络文件访问协议.unc smb nfs ftp http的区别

    atitit.网络文件访问协议.unc smb nfs ftp http的区别 1. 网络文件访问协议1 2. NETBios协议  2 3. SMB(Server Message Block)2 3 ...

随机推荐

  1. OA、CRM、ERP之间的区别和联系是什么?

    我们假设你是某机械行业的销售,一切从今天你收到公司的邮件,去上海参加展会开始 因为 去展会 所有 首先 你打开 OA 登陆 填写出差申请表 送交主管审批 填表--审批--行政订票酒店 然后呢 你飞去上 ...

  2. HTML5学习笔记-video

    HTML5 <video> - 方法.属性以及事件 方法 play()——播放 pause()——暂停 load()——加载 canPlayType——检测您的浏览器是否能播放不同类型的视 ...

  3. Div+Css(一)必备知识

    我只积累我不知道的 参考链接 http://www.kwstu.com/ArticleView/divcss_201442291125960 http://www.kwstu.com/ArticleV ...

  4. SQL 查找某个字段的首字母

    执行以下SQL语句 SELECT ,--或得首字母出现的位置 ),--要替换的字符串 ),''),--替换后的结果 OrderId, * FROM dbo.OrderSync 得到结果如下

  5. (四)boost库之正则表达式regex

    (四)boost库之正则表达式regex 正则表达式可以为我们带来极大的方便,有了它,再也不用为此烦恼 头文件: #include <boost/regex.hpp> 1.完全匹配 std ...

  6. Linux进程间通信——使用信号

    一.什么是信号 用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中 ...

  7. svn unable to connect to a repository at url 执行上下文错误 不能访问SVN服务器问题

    1.检查visual SVN server 本地仓库服务是否正常启动 如果是SVN server service的的问题情形: (1).使用browser打开仓库位置,结果连接打不开. (2).查看s ...

  8. stl入门--reverse函数

    #include<iostream> #include<algorithm>          using namespace std; int main() {     ch ...

  9. [Leetcode][Python]45: Jump Game II

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 45: Jump Game IIhttps://oj.leetcode.com ...

  10. C++数据结构之最小生成树

    最小生成树是图的一部分,一般求最小生成树用Prim算法和Kruskal算法. 对于Prim算法,思想是:在访问过的顶点和未访问的顶点之间选择权值最小的边.Prim算法是基于顶点的操作,适合于顶点较少, ...