PHP 简单的读写文件

<?php
    class gfile{
        private $path;
        private $fp;
        function __construct(String $filepath){
            if(isset($filepath)){
                if(file_exists($filepath)){
                    $this->path = $filepath;
                }else{
                    throw new Exception("undefind path", 1);
                }
            }else{
                throw new Exception("undefind parm", 1);
            }
        }

        public function setVal(String $val){
            $this->fp = fopen($this->path,"w+");
            flock($this->fp, LOCK_EX) ;
            $val ? $val : 0;
            fwrite($this->fp,$val);
        }

        public function getVal(){
            $this->fp = fopen($this->path,"r");
            flock($this->fp, LOCK_EX) ;
            return fread($this->fp, filesize($this->path));
        }

        function __destruct(){
            if($this->fp){
                flock($this->fp, LOCK_UN) ;
                fclose($this->fp);
            }
        }
    }
    $gfile = new gfile("lid.txt");
    echo $gfile->getVal();
?>
时间: 2024-08-09 19:40:27

PHP 简单的读写文件的相关文章

Linux一个简单的读写文件

(1)linux中的文件描述符fd的合法范围是0或者一个正正数,不可能是一个负数. (2)open返回的fd程序必须记录好,以后向这个文件的所有操作都要靠这个fd去对应这个文件,最后关闭文件时也需要fd去指定关闭这个文件.如果在我们关闭文件前fd丢掉了那就惨了,这个文件没法关闭了也没法读写了. 提醒:实时查man手册 (1)当我们写应用程序时,很多API原型都不可能记得,所以要实时查询,用man手册 (2)man 1 xx查linux shell命令,man 2 xxx查API, man 3 x

Java-IO读写文件简单操作2

承接Java-IO读写文件简单操作,这里再次写个小demo巩固一下知识点. 代码文件:demo.java package com.test.demo; import java.io.*; public class demo { public static void main(String[] args) { // 写文件 writeFile(); // 读文件 readFile(); } /** * @function 读文件 * @param * @return void * @date 20

Inno Setup 如何读写文件

软件安装的实质就是拷贝,对于简单的打包当然不需要考虑修改某(配置)文件.通过inno修改文件的目的在于把安装时相关信息写入文件中,提供其它应用的读取,而这些信息也只能在安装时才能确定,比如安装用户选择的安装目录,或者是通过自定义界面输入的端口号等信息.所以其它与安装无关的信息可以尽量不要使用inno来写入文件,这样只是在增加工作量. Inno修改文件内容的方式有很多.我自己总结的有以下三种方式:通过[INI]段来直接写入配置信息,调用外部程序来读写文件,使用内置读写文件函数来修改文件. 1.[I

C++读写文件

1.设置浮点数的显示精度 //设置浮点数输出的小数位数 设置4位小数输出 //方式1 cout.setf(ios_base::fixed,ios::floatfield); cout.precision(4); //方式2 //使用控制符 要包含iomanip头文件 cout << std::fixed << std::setprecision(4); 2.C++ IO流简单读写文件 double b = 123451.45; //写文本文件 string file_path(&q

[Python 3系列]读写文件

文件路径 文件有两个关键属性:"文件名"和"路径".路径指明了文件在计算机上的位置. 在windows上,路径书写使用倒斜杠作为文件夹之间的分隔符.但在OS X和Linux上,使用正斜杠作为它们的路径分隔符.如果想要程序运行在所有操作系统上,在编写python脚本时,必须处理这两种情况. 如果将单个文件和路径上的文件夹名称的字符串传递给os.path.join()函数,它会返回一个文件路径的字符串,包含正确的路径分隔符. >>> import os

Lua读写文件

文件读写 文件读写对制作游戏很有帮助.可以调用别的文件中的代码,保存最高分.游戏存档.玩家状态等信写到文件中. 首先,让我们看一个简单的命令:dofile.这个命令会读入另一个文件的代码并立即执行. 代码: dofile("./test.lua") 很简单的命令.注意 ./ 是指根目录,不是子目录.如果是子目录,应该这样用: 代码: dofile("./files/test.lua") 那么,如果我们的文件 test.lua 包含下述代码: 代码: playerx

Qt的Model/View Framework解析(数据是从真正的“肉(raw)”里取得,Model提供肉,所以读写文件、操作数据库、网络通讯等一系列与数据打交道的工作就在model中做了)

最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章.E文的除了Qt的官方介绍,其它文章也很少.看到一个老外在blog中写道Model/View是他认为Qt中最不好的一部分了.真的是这样吗?为了回馈开源社区,我写了这篇blog,写的是我认为比较有价值的东东.题目起得是解析,但也没有特别细节的介绍,点到为止,有兴趣的Tx可以继续讨论.我所看的资料有<C++ GUI Programming with Qt 4, Second Edition

JAVA基础学习之流的简述及演示案例、用缓冲区方法buffer读写文件、File类对象的使用、Serializable标记接口(6)

1.流的简述及演示案例输入流和输出流相对于内存设备而言.将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出.字符流的由来:其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表.获取对应的文字.在对这个文字进行操作.简单说:字节流+编码表字节流的两个顶层父类:1,InputStream 2,OutputStream.字符流的两个顶层父类:1,Reader 2,Writer String filePath = "F:\\demo.txt"; FileWriter f

你好,C++(5)如何输出数据到屏幕、从屏幕输入数据与读写文件?

2.2  基本输入/输出流 听过HelloWorld.exe的自我介绍之后,大家已经知道了一个C++程序的任务就是描述数据和处理数据.这两大任务的对象都是数据,可现在的问题是,数据不可能无中生有地产生,C++程序也不可能凭空创造出来数据.那么,C++程序中的数据又从何而来呢? 在现实世界中,国与国之间的交流是通过外交官来完成的.在C++世界中,也有负责应用程序跟外界进行数据交流的外交官,它们的名字就是基本输入/输出流对象(iostream).一个C++程序在工作的时候,负责输入的外交官(istr