<?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. (转载)C++之tinyXML使用

     tinyXML一款很优秀的操作C++类库,文件不大,但方法很丰富,和apache的Dom4j可以披靡啊!习惯了使用java类库的我看到这么丰富的c++类库,很高兴!它使用很简单,只需要拷贝几个文件到 ...

  2. 求double类型的n次方

    剑指offer系列面试题 package com.study; /* * 数值的整数次方 * 要求:实现函数 double Power(double base, int exponent) 求base ...

  3. oracle使用还原段的目的和还原数据的管理方法及还原段的类型

    一.引入还原段主要有3个目的: 1.事务回滚:主要是针对rollback语句起作用 2.事务恢复:非正常关闭数据库即非保留事务级关闭数据库(abort.immediate)或者数据库instance崩 ...

  4. MSSQL 获取数据库字段类型

    SELECT col.name AS 列名, typ.name as 数据类型, col.max_length AS 占用字节数, col.precision AS 数字长度, col.scale A ...

  5. RemoteViews的理解和使用

    一.RemoteViews简介 作用:跨进程更新界面                         使用场景:通知栏.桌面小部件 二.在通知栏上的应用 原理:通过RemoteViews加载布局,通过 ...

  6. C# 动态语言特性,dynamic 关键字研究

    1       动态语言简介 支持动态特性的语言现在大行其道,并且有继续增长的趋势.比如 Ruby 和 Python, 还有天王级的巨星 --- JavaScript. 现在一个程序员说自己对 Jav ...

  7. 让Maven正确处理javac警告

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.1:compile (default ...

  8. IE9 "CSS 因 Mime 类型不匹配而被忽略“问题

    写页面的时候在chrome,fireforks等页面上显示正常,但是换成IE9之后就完全没有样式了.IE真是个奇葩的怪胎.它的报错信息是’CSS 因 Mime 类型不匹配而被忽略‘,也就是说所有的.c ...

  9. 【LeetCode练习题】Permutations

    全排列 Given a collection of numbers, return all possible permutations. For example,[1,2,3] have the fo ...

  10. sigaction函数解析

    http://blog.chinaunix.net/uid-1877180-id-3011232.html sigaction函数解析  sigaction函数的功能是检查或修改与指定信号相关联的处理 ...