首页 > 编程语言 >无涯教程-PHP - 文件IO

无涯教程-PHP - 文件IO

时间:2023-08-21 12:34:02浏览次数:40  
标签:文件 读取 函数 写入 无涯 IO PHP 指针

打开和关闭文件

PHP fopen()函数用于打开文件,它需要两个参数,首先说明文件名,然后说明操作方式。

可以将文件模式指定为此表中的六个模式之一。

Sr.No Mode & Purpose
1

r

只读模式。指针移到文件的开头。

2

r+

读写模式。指针移到文件的开头。

3

w

写入模式。指针移到文件的开头,如果文件不存在,则创建。

4

w +

读取和写入模式。指针放在文件的开头,如果文件不存在,则创建。

5

a

追加写入模式。指针移到文件末尾,如果文件不存在,则创建。

6

a+

读取和追加写入。指针移动文件末尾,如果文件不存在,则创建。

如果尝试打开文件失败,则 fopen() 返回值 false ,否则返回文件指针,该指针用于进一步读取或写入到该文件。

对打开的文件进行更改之后,使用 fclose()函数将其关闭很重要。 fclose()函数需要文件指针作为其参数,然后在关闭成功时返回 true ,如果失败则返回 false 。

读取文件

使用 fopen()函数打开文件后,可以使用 fread()的函数读取该文件,此函数需要两个参数,这些必须是文件指针,文件的长度以字节为单位。

可以使用 filesize()函数找到文件长度,该函数将文件名作为其参数,并返回以字节为单位的文件大小。

因此,这是使用PHP读取文件所需的步骤。

  • 使用 fopen()函数打开文件。

  • 使用filesize()函数获取文件的长度。

  • 使用 fread()函数读取文件的内容。

  • 使用 fclose()函数关闭文件。

以下示例将文本文件的内容分配给变量,然后将这些内容显示在网页上。

<html>

   <head>
      <title>读取文件 using PHP</title>
   </head>
   
   <body>
      
      <?php
         $filename="tmp.txt";
         $file=fopen( $filename, "r" );
         
         if( $file == false ) {
            echo ( "Error in opening file" );
            exit();
         }
         
         $filesize=filesize( $filename );
         $filetext=fread( $file, $filesize );
         fclose( $file );
         
         echo ( "File size : $filesize bytes" );
         echo ( "<pre>$filetext</pre>" );
      ?>
      
   </body>
</html>

它将产生以下输出-

Reading File

写入文件

使用PHP fwrite()函数可以编写新文件或将文本附加到现有文件中,该函数需要两个参数来指定文件指针和要写入的数据字符串。

下面的示例创建一个新的文本文件,然后写入文本标题。关闭此文件后,使用 file_exist()函数确认该文件的存在,该函数将文件名作为参数

<?php
   $filename="/home/user/guest/newfile.txt";
   $file=fopen( $filename, "w" );
   
   if( $file == false ) {
      echo ( "Error in opening new file" );
      exit();
   }
   fwrite( $file, "This is  a simple test\n" );
   fclose( $file );
?>
<html>
   
   <head>
      <title>写文件 using PHP</title>
   </head>
   
   <body>
      
      <?php
         $filename="newfile.txt";
         $file=fopen( $filename, "r" );
         
         if( $file == false ) {
            echo ( "Error in opening file" );
            exit();
         }
         
         $filesize=filesize( $filename );
         $filetext=fread( $file, $filesize );
         
         fclose( $file );
         
         echo ( "File size : $filesize bytes" );
         echo ( "$filetext" );
         echo("file name: $filename");
      ?>
      
   </body>
</html>

它将产生以下输出-

Writing File


在PHP File System Function一章中,无涯教程介绍了与文件输入和输出有关的所有函数。

参考链接

https://www.learnfk.com/php/php-files.html

标签:文件,读取,函数,写入,无涯,IO,PHP,指针
From: https://blog.51cto.com/u_14033984/7173705

相关文章

  • KIOPTRIX: LEVEL 1.1 (#2) 常规命令注入+内核提权
    0×02Vulnhub靶机渗透总结之KIOPTRIX:LEVEL1.1(#2)......
  • Nginx中location语法有哪些?【杭州多测师_王sir】
     1、location 介绍location是Nginx中的块级指令(block directive),location指令的功能是用来匹配不同的url请求,进而对请求做不同的处理和响应,这其中较难理解的是多个location的匹配顺序,本文会作为重点来解释和说明。开始之前先明确一些约定,我们输入的网址叫做请求URI,nginx用请......
  • BIOS 与 UEFI 引导流程
    目录前言主板固件(BIOS与UEFI)BIOSBIOS功能BIOS启动过程引导程序(bootloader)BIOS的缺点UEFIEFI启动过程启用UEFI的条件硬盘分区结构(MBR与GPT)MBR结构GPT结构保护MBRGPT头分区表用户数据区分区表备份GPT头备份扇区与LBA的区别操作系统的引导过程BIOS引导操作系统BIOS引......
  • 前端项目实战壹佰陆拾陆react-admin+material ui-react-admin之Create之disableAuthen
    我是歌谣微信公众号关注前端小歌谣import*asReactfrom'react';import{Button,Typography,Box}from'@mui/material';import{Create,SimpleForm,TextInput,DateInput,required,TopToolbar}from'react-admin';constPostCreateActions=()=&......
  • 前端项目实战壹佰陆拾捌react-admin+material ui-react-admin之Create之mutationOptio
    我是歌谣微信公众号关注前端小歌谣import*asReactfrom'react';import{Button,Typography,Box}from'@mui/material';import{Create,useNotify,SimpleForm,TextInput,DateInput,required,TopToolbar}from'react-admin';constPostCreateActio......
  • 前端项目实战壹佰捌拾react-admin+material ui-react-admin之Edit之actions
    我是歌谣微信公众号关注前端小歌谣import*asReactfrom"react";import{Button}from'@mui/material';import{Edit,ListButton,ShowButton,SimpleForm,TextInput,TopToolbar,DateInput,ReferenceManyField,Datagrid,TextField,DateField,EditButton,......
  • 美国英语情景对话大全American Situational Conversations
    美国英语情景对话大全AmericanSituationalConversations 发布时间: 2011-10-28 阅读量: 1885(1).IntroductiosandOpeningConversations介绍和开场白PeopleintheUnitedStatesdon'talwaysshakehandswhentheyareintroducedtooneanother.......
  • MySQL告警"[Warning] Connection attributes of length 571 were truncated"
     有时候会在mysql的错误日志中看到如下报错"[Warning]Connectionattributesoflength571weretruncated"。比如:2023-08-20T13:23:15.265489Z47753433[Warning]Connectionattributesoflength571weretruncated2023-08-20T13:23:15.274938Z47425089[Warning]C......
  • WPF绑定Enum到RadioButton
    将枚举型的数据类型绑定到单选按钮的IsChecked属性中,可以避免定义多个bool类型与之进行绑定,尤其是枚举类型较多时候,对bool对象的维护会更加复杂。1、定义枚举类型及值转换器internalenumGender{[Description("男")]Male,[Description("女")]Female,[Descri......
  • 运行 'RuoYiApplication' 时出错: 模块 'ruoyi-admin' 没有 JDK
    项目运行良好,关机重新打开项目时出现“运行'RuoYiApplication'时出错:模块'ruoyi-admin'没有JDK”导致运行失败,经检查项目中已经配置SDK解决办法:重新加载Maven,或者直接点项目右侧的刷新按钮  ......