zoukankan      html  css  js  c++  java
  • 前端PHP入门-028-文件操作-掌握级别

    作为刚入门我们员经常会干的意见事情是ctrl+c和ctrl+v,鼠标右键删除文件、会control+c(或右键)复制、粘贴文件以及新建文件,还可以设置文件的是否为只读文件等等

    • 可不可以写入修改配置文件?
    • 是不是可以做PHP安装的时候检测文件的权限
    • 是不是可以做生成Html文件等等很多不同的操作

    对于美工的各位同学,可能不太好理解,也就是说让程序去控制文件的操作,让我们变的更懒一些

    读取文件

    掌握函数的使用

    readfile 读取文件

    int readfile ( string $文件名)

    功能: 传入一个文件路径,输出一个文件。

    代码演示:
    只要传入文件名或者指定的文件路径就把文件读取出来了

    1. <?php
    2. //linux类的读了方式,它没有盘符的概念
    3. readfile("/home/paul/pangsir.txt");
    4. //windows类的读取方式,有的新机器是不允许读取根目录下的文件
    5. readfile("d:\pangsir.html");
    6. //个人习惯这种
    7. //readfile("d:/pangsir.html");
    8. ?>

    运行效果:

    注意:上面的代码中windows的斜线是 \ 斜线,可能会转义掉一些字符。因此,我们写的时候写上两个斜线。
    问题: 我们学习过的特殊字符和转义字符有哪些?

    file_get_contents 打开文件

    单纯打文件就直接输出了,有没有打开文件后,能够赋值给一个变量的操作方式呢?

    string file_get_contents ( string filename)

    功能:

    传入一个文件或文件路径,打开这个文件返回文件的内容。
    文件的内容是一个字符串。

    1. <?php
    2. $filename = 'd:/pangsir.html';
    3. $filestring = file_get_contents($filename);
    4. echo '我要输出了--->>>>';
    5. echo $filestring;
    6. ?>

    就打开了一个文件,并且将文件当中的内容进行了输出。

    扩展代码:注意因为我使用的是html文件,有的时候是有问题的呵呵!

    1. <?php
    2. //假设我们有一个多行的文件叫pangsir.html,没有的话你可以新建一个这个文件
    3. $filename = 'd:/pangsir.html';
    4. //打开这个文件,将文件内容赋值给$filestring
    5. $filestring = file_get_contents($filename);
    6. //因为每一行有一个回车即 ,我用 来把这个字符串切割成数组
    7. $filearray = explode(" ", $filestring);
    8. //把切割成的数组,下标赋值给$key,值赋值给$val,每次循环将$key加1。
    9. while (list($key, $val) = each($filearray)) {
    10. ++$key;
    11. $val = trim($val);
    12. //用的单引号,单引号不解释变量进行了拼接而已
    13. print 'Line' . $key .':'. $val.'<br />';
    14. }
    15. ?>

    fopen、fread、fclose操作读取文件

    file_get_contents打开文件的方式简单、粗暴。下面的

    resource fopen ( string $文件名, string 模式)

    string fread ( resource $操作资源, int 读取长度)

    bool fclose ( resource $操作资源 )

    通常操作方式:

    1.打开资源

    2.使用相关函数进行操作

    3.关闭资源

    fopen函数
    fopen函数的功能是打开文件,参数主要有两个:

    • 文件打开的路径
    • 打开文件的模式
      返回类型是一个资源类型,我们第一次遇到了之前基础类型的时候讲到的资源类型。
      资源类型需要其他的函数来操作这个资源。所有的资源有打开就要有关闭。

    fread函数

    • 函数的功能的功能是读取打开的文件资源。
    • 读取指定长度的文件资源,读取一部份向后移动一部份。
    • 至到文件结尾。

    fclose函数

    • fclose函数的功能是关闭资源。
    • 资源有打开就有关闭。
    模式 说明
    只读方式打开,将文件指针指向文件头。
    r+ 读写方式打开,将文件指针指向文件头。
    w 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
    w+ 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建
    a 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建
    a+ 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之
    x 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建
    x+ 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建

    这个好好记住,很有用!

    接触学习 r模式 ,下结课我们在将写入的时候再来讲讲其他几个模式
    1.打开文件

    1. <?php
    2. //你可以创建一个NoAlike.txt,以只读模式打开
    3. $fp = fopen('pangsir.txt', "r");
    4. //var_dump()操作一下$fp看看效果,输出的是不是只有类型提示的是resource
    5. var_dump($fp);
    6. ?>

    2.读取文件

    1. <?php
    2. $fp = fopen('pangsir.txt', "r");
    3. //打开一个文件类型后,读取长度
    4. $contents = fread($handle, 1024);
    5. ?>

    3.关闭文件

    1. <?php
    2. $fp = fopen($filename, 'r');
    3. $contents = fread($fp, 1024);
    4. fclose($fp);
    5. echo $contents;
    6. ?>

    其他注意事项:

    模式 说明
    t windows下将 转为
    b 二进制打开模式





  • 相关阅读:
    贪婪与非贪婪模式
    Arduino语言介绍
    POJ 3249 记忆化搜索或拓扑排序
    POJ 3177 缩点 + 边双连通图
    POJ 1637 网络流构图
    hdu 1285 拓扑排序+优先队列
    POJ 3160 缩点+拓扑排序+简单dp
    POJ 3592 缩点+拓扑排序+最长路
    针对11级队员的暑假训练计划(初稿)
    POJ 2762 缩点+判断是否是最长链
  • 原文地址:https://www.cnblogs.com/pangxiansheng/p/ee3d0d21bd475e5d5a4685bf929d753d.html
Copyright © 2011-2022 走看看