<?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++ 动态绑定

    1.为每一个包含虚函数的类设置一个虚表(VTABLE) 每当创建一个包含有虚函数的类或从包含虚函数的类派生一个类时,编译器就会为这个类创建一个VTABLE.在VTABLE中,编译器放置了这个类中,或者 ...

  2. 代码设置layout_weight attribute

    代码设置 LinearLayout权重比例之小结: 如果在LinearLayout添加子View,那么只有一个View的时候设置所占的比例一定要设置LinearLayout总weightsum.不然会 ...

  3. 使用微软的(how-old.net)构建智能门店管理系统

    现在是大数据时代,每个企业都要对自己的客户有全面的认识,这样才能最准确的分析客户,做出相应的决策.在实体的门店中,对于客户的管理还是比较低级,很多客户对于企业来说是哑终端,即对于企业来说,完全不知道客 ...

  4. 1003 Crashing Balloon

    考察DFS的应用,判断两个数的因子. #include <stdio.h> int f1,f2; void DFS(int m,int n,int k){ ){ f2=; ) f1=; } ...

  5. QTableWidget嵌入QpushButton后定位QpushButton

    问题: 有时候会遇到这样的情况,在QTableWidget中我们需要嵌入一个QpushButton按钮,但是如何确定是哪个Button按下的呢? 解决: 一般地,一个按钮按下后会连接到一槽函数,那么在 ...

  6. extjs让按钮可用或者不可用

    Ext.getCmp(‘按钮ID’).enable();//设置为可用Ext.getCmp(‘按钮ID’).disable();//设置为不可用

  7. 如何让FPGA中的SPI与其他模块互动起来

    在上一篇文章<FPGA的SPI从机模块实现>中,已经实现了SPI的从机模块,如何通过SPI总线与FPGA内部其他模块进行通信,是本文的主要讨论内容. 一. 新建FPGA内部DAC控制模块 ...

  8. [Leetcode][Python]42: Trapping Rain Water

    # -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 42: Trapping Rain Waterhttps://oj.leetc ...

  9. iOS Xcode工程目录的 folder 和 group的区别(蓝色和黄色文件夹的区别)

    1. 来自 http://blog.csdn.net/fanjunxi1990/article/details/9352917 XCode工程目录里面,有时你会发现2个不同颜色的文件夹,一种是蓝色的, ...

  10. 如何不让oracle使用linux的swap分区

    经常看到swap分区被使用,被缓存的内容本来是为了增加命中率,结果去不断换入换出,导致本地磁盘IO增加,影响访问速度.所以在内存充足的情况下,如果我们觉得不需要使用swap分区的时候,那就要想办法尽量 ...