zoukankan      html  css  js  c++  java
  • PHP文件系统文件指针

    一、fopen — 打开文件或者 URL 'r' 只读方式打开,将文件指针指向文件头。 'r+' 读写方式打开,将文件指针指向文件头。 'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 'x' 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 'x+' 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 二、程序实例 1、往文件中写内容 $file=fopen("./test.txt", "a"); //如果打开文件成功返回资源,如果失败返回false for($i=0; $i<100; $i++) fwrite($file, "www.baidu{$i}.com\n"); fclose($file); //关闭文件资 2、读取远程文件的方法 $file=fopen("http://www.163.com", "r"); //如果打开文件成功返回资源,如果失败返回false $str=""; while(!feof($file)){ //feof()当文件指针读到文件的尾部的判断 $str.=fread($file, 1024); } echo $str; fclose($file); //关闭文件资 3、文件指针位置控制 $file=fopen("./test.txt", "r"); //如果打开文件成功返回资源,如果失败返回false echo ftell($file)."<br>"; //返回当前指针的位置 echo fread($file, 10)."<br>"; //读取当前指针后的10个字节,读完了指针是会移动的。往后移10个字节 echo ftell($file)."<br>"; echo fread($file, 10)."<br>"; echo ftell($file)."<br>"; fseek($file,100, SEEK_CUR); //从当前的指针位置往后移动100个字节 echo ftell($file)."<br>"; echo fread($file, 10)."<br>"; echo ftell($file)."<br>"; fseek($file,-20, SEEK_END); //指针移到文件倒数的20个字节 echo fread($file, 20)."<br>"; echo ftell($file)."<br>"; rewind($file); //回到文件头部 echo ftell($file)."<br>"; echo fread($file, 20)."<br>"; fclose($file); //关闭文件资源 4、用文本存储数据的简单留言本 <?php $mess="data.txt"; if(isset($_POST["sub"])){ $strmess=$_POST["username"].'<l>'.$_POST['tit'].'<l>'.$_POST["con"].'<l>'.time()."<n>"; write($mess, $strmess); if(file_exists($mess)) { $con=read($mess); $con=rtrim($con, "<n>"); //去掉后面的<n> $rows=explode("<n>", $con); foreach($rows as $row){ list($username, $tit, $content, $time)=explode("<l>", $row); echo '<p><b>'.$username.'</b>在<font color="red">'.date("Y-m-d H:i:s", $time).'</font>说:'; echo '<i>'.$tit.'</i> '; echo '<u>'.$content.'</u></p>'; } } } function read($fileName){ $file=fopen($fileName, "r"); if(flock($file, LOCK_SH)){ //加入文件锁,防止一个文件不被同时多人操作 $con=fread($file, filesize($fileName)); flock($file, LOCK_UN); } fclose($file); return $con; } function write($fileName, $mess){ $file=fopen($fileName, "a"); if(flock($file, LOCK_EX)){ fwrite($file, $mess); flock($file, LOCK_UN); } fclose($file); } ?> <form action="one.php" method="post"> username: <input type="text" name="username"> <br> title: <input type="text" name="tit"><br> body: <textarea name="con"></textarea><br> <input type="submit" name="sub" value="message"> </form>    
  • 相关阅读:
    dedecms织梦建站总结
    ubuntu安装
    git命令
    关于测试日报
    Appium环境搭建(Windows版)
    jmeter,CSV数据加载、数据库连接、正则
    jmeter,参数、Bean Shell断言
    jmeter安装和组件说明
    造数据
    WEB UI自动化
  • 原文地址:https://www.cnblogs.com/gxldan/p/4066826.html
Copyright © 2011-2022 走看看